您当前位置: 首页 >  WEB技术 >  查看本地网络SQL-Server实例——使用sqlcmd命令在本地网络中查找所有可用的SQL-Server实例
2014/2/12 15:45:37 分类:WEB技术

查看本地网络SQL-Server实例——使用sqlcmd命令在本地网络中查找所有可用的SQL-Server实例

 最近看了几天的Sql Server 2005 的联机帮助丛书,收获还是比较大,新的sqlcmd取代了Sql Server 2000的osql,以前一直没有注意能通过osql来列出本地网内的Sql Server 服务器列表。使用参数有两种显示方式。

<1>sqlcmd -L
C:/Documents and Settings/Administrator>sqlcmd -L
 
服务器:
    DATA11
    DFC12
    H2DATA
    SYC/NBJG
    SYC/SQLEXPRESS
    ZHHAIF
    ZHENGZUO
 
 
C:/Documents and Settings/Administrator>
 
<2> sqlcmd –Lc
C:/Documents and Settings/Administrator>sqlcmd -Lc
DATA11
DFC12
H2DATA
SYC/NBJG
SYC/SQLEXPRESS
ZHHAIF
ZHENGZUO
 
 
C:/Documents and Settings/Administrator>
比较两种方式,可以看出带-Lc参数列出的服务器列表更适合与进行代码分析。通过代码获取列表可以参考我以前写的文章。
一下内容是联机丛书对该命令项的描述,也是我们使用过程中需要引起注意的:
-L [ c ]
列出在本地配置的服务器和在网络上广播的服务器的名称。此参数不能与其他参数结合使用。可以列出的服务器的最大数目是 3000。如果服务器列表由于缓冲区大小而被截断,则会显示错误消息。
由于网络广播的本质,sqlcmd 可能无法及时接收到所有服务器的响应,因此,每次调用此选项时,返回的服务器列表可能会有所不同。
如果指定可选参数 c,则输出不会显示 Servers: 标题行,且列出的每个服务器行都没有前导空格。这称为清除输出。清除输出可以提高脚本语言的处理性能。
 
CMD快速启动和停止sql服务
启动sql服务  net start mssqlserver
停止sql服务  net stop mssqlserver
 
制作一个bat文件方便自己快速停止和启动
 
 

@echo off 
for /f "skip=3 tokens=4" %%i in (\'sc query MSSQLSERVER\') do set "zt=%%i" &goto :next

:next 
if /i "%zt%"=="RUNNING" ( 
 echo 已经发现该服务在运行,开始停止
 net stop  MSSQLSERVER
 echo sc config MSSQLSERVER start = DISABLED 禁用服务
) else ( 
 echo 该服务现在处理停止状态,开始启动
 echo sc config MSSQLSERVER start = Manual 设置服务手动
 net start MSSQLSERVER
)

pause

 

要说明的几点:

1、把以上的代码拷到记事本中,把后缀名改为bat。

2、\'sc query MSSQLSERVER\' 这句中的MSSQLSERVER,是你的SQL的服务的名字,

看图.如果你不确定你的sql的服务名,你还可以做这样的一个测试,打开cmd,用命令:net stop MSQQLSERVER,如果能正常关闭sql的话,就说明你的服务名字是MSSQLSERVER。

本文由胡金金个人网站整理发布,转载请注明地址:http://www.hujinjin.com/info/462.html

凡标明来源于胡金金个人网站的文章,皆为本站整理发布,若转载此文必须附原文链接,对部分平台更改其文内容当自己原创者,胡金金个人网站将保留其追究权利!
个人资讯推荐
友情链接