批处理停止mysql服务器_通过批处理脚本启动/停止SQL Server服务

原因

先说写这篇文章的原因,这里通过两个简单的案例说明。

案例一:在一个Windows操作系统中,安装有10个SQL Server实例,每一个实例存在大约120个数据库。现在要同时启动10个实例的服务(SQL Server & SQL Server Agent & SQL Server FullText Search)。通过SQL Server Configuration Manager,需要一个实例,一个服务的一一启动。那是多么繁琐、笨拙的操作。

案例二:在案例一的场景,启动了全部的实例。不久,就发现程序运行缓慢,即使在Microsoft SQL Server Management Studio(MSMS)管理器查询数据,都有如蜗牛爬树。这时候,需要关闭一些暂时不用的SQL Server实例的服务。等需要的时候再启动。一些时候,可能会碰到经常要关闭这个实例的服务,启动另外实例的服务,以便解决Windows系统资源紧张的问题。

解决

解决上面案例繁琐的操作问题,可以考虑通过Net命令,来启动或停止各个SQLServer服务,如:

net Start SQLAgent$SQL2005DE1  /*启动实例SQL2005DE1中的SQLAgent服务*/

net Stop SQLAgent$SQL2005DE1  /*停止实例SQL2005DE1中的SQLAgent服务*/

根据Net命令,可以通过编写一个批处理脚本实现,启动各个实例的各服务。Copy下面的代码,存储为后缀名为Bat的批处理文件“Start&StopSQLServer.bat”:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.pngView Code

@echo off

:a

echo 本机的实例列表:

echo ---------------------------

echo     1    PC143\SQL2005DE1

echo     2    PC143\SQL2005DE2

echo     3    PC143\SQL2005DE3

echo     4    PC143\SQL2005DE4

echo     5    PC143\SQL2005DE5

echo     6    PC143\SQL2005DE6

echo     7    PC143\SQL2005DE7

echo     8    PC143\SQL2005DE8

echo     9    PC143\SQL2005DE9

echo     10    PC143\SQL2005DE10

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上其中一个实例服务PC143\SQL2005DE4:

f232b62974dc96c70ee4a1b7e53a3524.png

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

f51f71224677ac5cd57492ff04f775b6.png

小结

上面的批处理脚本,虽然代码看似很长,其实格式很简单,熟悉Windows批处理脚本的朋友,一定能简化它。启动或停止实例的服务,还可以使用别的后台脚本语言实现,如Windows PowerShell,或Python。无论使用哪一种,最终目的是要解决文章开头的两个案例问题。写批处理脚本,能让我们少敲次键盘,少按几次鼠标。通过简单的脚本代码实现,代替一些繁琐笨拙的操作,久而久之,会发觉它们能为我们节省了不少的时间,提高了工作效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值