在自己的开发机器上面没有把 SQL Server 服务设置成自动,因为太占内存和太影响开机时间
而在每次使用到Sql Server 的时候,还要跑到 Windows 的 控制面板里面去把服务打开,感觉操作很繁琐
所以写了个用PowerShell 打开 SQL Server 服务的小脚本
Service_sql_server.ps1:
代码如下 | 复制代码 |
$Service_Name = "MSSQL`$SQLSERVER" $Service = Get-Service $Service_Name | Findstr $Service_Name | Findstr "Stopped" if([String]::IsNullOrEmpty($Service)) [System.Threading.Thread]::Sleep(3000) |
Service_sql_server.bat:
代码如下 | 复制代码 |
powershell D:ProjectPowerShellService_sql_server.ps1 sleep 5 |
用PowerShell使用命令net start mssql$mssql05 服务名无效
解决办法
?在 PowerShell 下加入 -name 服?彰?Q??? 以?? SQL Server.
start-service -name 'mssql$mssql05'
同?r更正之前回覆中第二??命令的描述:
在 PowerShell 中通?系?原有命令??臃??
cmd /c 'net start "mssql$mssql05"'
-或-
cmd /c 'sc start "mssql$mssql05"'
停止服??/p>
cmd /c 'net top "mssql$mssql05"'
-或-
cmd /c 'sc stop "mssql$mssql05"'
--------------------------------------------------------------------------------
Folding@Home
网上找到的批处理代码
根据Net命令,可以通过编写一个批处理脚本实现,启动各个实例的各服务。Copy下面的代码,存储为后缀名为Bat的批处理文件“Start&StopSQLServer.bat”:
代码如下 | 复制代码 |
@echo off :a echo 本机的实例列表: echo --------------------------- echo 1 PC143SQL2005DE1 echo 2 PC143SQL2005DE2 echo 3 PC143SQL2005DE3 echo 4 PC143SQL2005DE4 echo 5 PC143SQL2005DE5 echo 6 PC143SQL2005DE6 echo 7 PC143SQL2005DE7 echo 8 PC143SQL2005DE8 echo 9 PC143SQL2005DE9 echo 10 PC143SQL2005DE10 echo --------------------------- echo 操作动作: echo 1 启动服务 echo 0 停止服务 echo --------------------------- echo. Set/p var2=请输入操作动作:[1/0] Set/p var1=请输入实例编号:[1/2/3/4/5/6/7/8/9/10] if %var1% ==1 if %var2% ==1 goto S1 if %var1% ==2 if %var2% ==1 goto S2 if %var1% ==3 if %var2% ==1 goto S3 if %var1% ==4 if %var2% ==1 goto S4 if %var1% ==5 if %var2% ==1 goto S5 if %var1% ==6 if %var2% ==1 goto S6 if %var1% ==7 if %var2% ==1 goto S7 if %var1% ==8 if %var2% ==1 goto S8 if %var1% ==9 if %var2% ==1 goto S9 if %var1% ==10 if %var2% ==1 goto S10 if %var1% ==1 if %var2% ==0 goto T1 if %var1% ==2 if %var2% ==0 goto T2 if %var1% ==3 if %var2% ==0 goto T3 if %var1% ==4 if %var2% ==0 goto T4 if %var1% ==5 if %var2% ==0 goto T5 if %var1% ==6 if %var2% ==0 goto T6 if %var1% ==7 if %var2% ==0 goto T7 if %var1% ==8 if %var2% ==0 goto T8 if %var1% ==9 if %var2% ==0 goto T9 if %var1% ==10 if %var2% ==0 goto T10 echo. cls goto a: echo. :S1 net Start SQLAgent$SQL2005DE1 /Y net Start msftesql$SQL2005DE1 /Y goto EndApp echo. :S2 net Start SQLAgent$SQL2005DE2 /Y net Start msftesql$SQL2005DE2 /Y goto EndApp echo. :S3 net Start SQLAgent$SQL2005DE3 /Y net Start msftesql$SQL2005DE3 /Y goto EndApp echo. :S4 net Start SQLAgent$SQL2005DE4 /Y net Start msftesql$SQL2005DE4 /Y goto EndApp echo. :S5 net Start SQLAgent$SQL2005DE5 /Y net Start msftesql$SQL2005DE5 /Y goto EndApp echo. :S6 net Start SQLAgent$SQL2005DE6 /Y net Start msftesql$SQL2005DE6 /Y goto EndApp echo. :S7 net Start SQLAgent$SQL2005DE7 /Y net Start msftesql$SQL2005DE7 /Y goto EndApp echo. :S8 net Start SQLAgent$SQL2005DE8 /Y net Start msftesql$SQL2005DE8 /Y goto EndApp echo. :S9 net Start SQLAgent$SQL2005DE9 /Y net Start msftesql$SQL2005DE9 /Y goto EndApp echo. :S10 net Start SQLAgent$SQL2005DE10 /Y net Start msftesql$SQL2005DE10 /Y goto EndApp echo. :T1 net Stop MSSQL$SQL2005DE1 /Y net Stop msftesql$SQL2005DE1 /Y goto EndApp echo. :T2 net Stop MSSQL$SQL2005DE2 /Y net Stop msftesql$SQL2005DE2 /Y goto EndApp echo. :T3 net Stop MSSQL$SQL2005DE3 /Y net Stop msftesql$SQL2005DE3 /Y goto EndApp echo. :T4 net Stop MSSQL$SQL2005DE4 /Y net Stop msftesql$SQL2005DE4 /Y goto EndApp echo. :T5 net Stop MSSQL$SQL2005DE5 /Y net Stop msftesql$SQL2005DE5 /Y goto EndApp :T6 net Stop MSSQL$SQL2005DE6 /Y net Stop msftesql$SQL2005DE6 /Y goto EndApp :T7 net Stop MSSQL$SQL2005DE7 /Y net Stop msftesql$SQL2005DE7 /Y goto EndApp :T8 net Stop MSSQL$SQL2005DE8 /Y net Stop msftesql$SQL2005DE8 /Y goto EndApp :T9 net Stop MSSQL$SQL2005DE9 /Y net Stop msftesql$SQL2005DE9 /Y goto EndApp :T10 net Stop MSSQL$SQL2005DE10 /Y net Stop msftesql$SQL2005DE10 /Y goto EndApp :EndApp Set/p var3=是否继续操作:[y/n] If %var3% == y goto a: |
这里演示了PC143上的10个SQL Server实例启动、停止的批处理脚本。下面来运行这个脚本,启动PC143上其中一个实例服务PC143SQL2005DE4:
关闭实例服务,类似启动实例服务,如: