启动/停止SQL Server服务的批处理脚本

提供一个方便网站管理员用的程序 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”:

 代码如下复制代码 View Code
@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:

SQL2005DE4:

image

 

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

 

image

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1835575.html

(0)
上一篇 2025年2月21日 21:52:04
下一篇 2025年2月21日 21:52:37

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • PHP中echo打印数组为什么没有元素

    PHP中echo打印数组没有元素是因为PHP的echo语句是用来输出字符串的,而不是用来打印数组的元素,及解决方法有:1、使用print_r()函数;2、使用var_dump()函数;3、使用foreach循环来遍历数组并打印每个元素。 本…

    2025年2月23日
    100
  • 开源SQLJet 1.0.0发布

    SQLJet是流行的SQLite数据库管理系统的一个独立纯Java实现,也是一个提供API的软件库,这个API使得Java应用程序可以读取和修改SQ SQLJet是流行的SQLite数据库管理系统的一个独立纯Java实现,也是一个提供API…

    数据库 2025年2月23日
    100
  • 一次简单的SQL优化给我的经验–索引不可用的情况

    有一天我遇到了一个同事的求助,他让我帮忙优化一个SQL,这个SQL执行时间很长。于是我查询了执行计划,发现这个SQL竟然要进行一次 有一天我遇到了一个同事的求助,他让我帮忙优化一个SQL,这个SQL执行时间很长。于是我查询了执行计划,发现这…

    数据库 2025年2月23日
    300
  • Greenplum获取一个SQL结果的字段名

    在Greenplum中,对于任意一个SQL,我们想获取这个SQL执行后的字段名是比较难的。比方说在写一个通用工具的时候,使用copy命令将一 在Greenplum中,对于任意一个SQL,我们想获取这个SQL执行后的字段名是比较难的。 比方说…

    数据库 2025年2月23日
    100
  • 如何将多个SQL查询统计结果一次显示出来

    我们经常会碰到各种分类统计,有时需要将这些统计结果一次显示出来,并计算分类统计占总量的比例,例如:一段时间内每日设备销售 我们经常会碰到各种分类统计,有时需要将这些统计结果一次显示出来,并计算分类统计占总量的比例,例如:一段时间内每日设备销…

    数据库 2025年2月22日
    100
  • SQL锁和并发

    并发是所有数据库的主要问题。它描述了两个或多个用户尝试同时处理一个对象的概念。交互操作的本质对每个用户来说都是不同的(更 并发是所有数据库的主要问题。它描述了两个或多个用户尝试同时处理一个对象的概念。交互操作的本质对每个用户来说都是不同的(…

    数据库 2025年2月22日
    100
  • SQL两个表之间的更新:用一个表的字段更新另一个表的字段

    SQLmdash;mdash;两个表之间的更新:用一个表的字段更新另一个表的字段 –1. 这种写法相当于一个 Left join, 以外面的where为更新条数。    —   注意! 如果内面的表的(where之后…

    数据库 2025年2月22日
    100
  • SQL语句的基本操作

    –创建数据库create database Etp; –连接数据库connect to Etp; –断开连接disconnect Etp; –查看当前数据库下有哪些表list ta &#821…

    数据库 2025年2月22日
    100
  • SQL语句执行顺序

    一、sql语句的执行步骤:1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。 2) 语义分析,检查语句中涉及的 一、sql语句的执行步骤:1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。 2) 语义分析…

    数据库 2025年2月22日
    100
  • SQL 查询本周本月问题

    sql 查询本周本月问题 —求相差天数 select datediff(day, sql 查询本周本月问题 —求相差天数   select   datediff(day,’2004-01-01&#8242…

    数据库 2025年2月22日
    100

发表回复

登录后才能评论