龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 操作系统 > LINUX系统 >

PowerShell批量启动/停止Windows中的Sql Server服务

时间:2012-12-29 08:41来源:未知 作者:admin 点击:
分享到:
PowerShell批量启动/停止Windows中的Sql Server服务 ,文章讲述了单个启动sqlserver服务的同时还介绍了批量启动与停止的批处理程序,有需要的朋友可看看。 在自己的开发机器上面没有把 SQL
PowerShell批量启动/停止Windows中的Sql Server服务 ,文章讲述了单个启动sqlserver服务的同时还介绍了批量启动与停止的批处理程序,有需要的朋友可看看。

在自己的开发机器上面没有把 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))
{
    Write-Host $Service_Name "服务已经启动或找不到该服务"
}
else
{
    Write-Host $Service_Name  "启动中......"
    Start-Service $Service_Name
    Write-Host $Service_Name  "已启动......"
}

[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:

image

 

关闭实例服务,类似启动实例服务,如:

 

image 


精彩图集

赞助商链接