1. 通过注册表获取SQL SERVER服务的启动状态。与获取其它服务的启动状态一样。方法是通过查找注册表:HK_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{服务名},下的Start键的值。其值的意义是:
- 2 表示自动(Automatic)
- 3 表示手动(Manual)
- 4 表示禁用(Diabled)
2. 获取或设置SqlServer的启动状态。
通过使用System.ServiceProcess.ServiceController类来获取或设置服务状态。
3. 获取或设置Sqlserver启用的协议。
Sqlserver提供了四种协议,分别是ShareMemory, Named Pipe, Tcp, Via.
也可以通过查找注册表来获取某一种协议是否启用。以查看SqlExpress下的Tcp协议是否启用为例。
- 一般地,每个SQL SERVER实例都会在HK_LOCAL_MACHINE\Software\Microsoft\Microsoft Sql Server\Instance\SQL下有一个键。先获取这个目录下SQLEXPRESS键的值。假设是MSSQL.1。
- 到HK_LOCAL_MACHINE\Software\Microsoft\Microsoft Sql Server\MSSQL.1\MSSQLServer\SuperSocketNetLib下可以看到四个目录每个目录代表一个协议。其中,Np代表Named Pipe,Sm代表Shared Memory,另外两个是Tcp和Via。
- 查看Tcp下的Enabled键的值。若值为1表示协议启用,0表示协议禁用。