SQL Server 启动有以下几种方法:
(1)在Control Panel——Administrative Tools——Services,找到SQL Server (XXX)进行启动。
其中XXX为实例名,默认实例名为“MSSQLSERVER”。
Figure-1: 在OS Services中启动
(2)在SQL Server Configuration Manager中启动。
Figure-2: 在SQL Server Configuration Manager中启动
(3)在SSMS的Object Explorer中启动。
不过这种方法在已经打开Object Explorer并且没有断开与Database Engine的连接才能使用。适合于正在使用SSMS,需要重启SQL Server实例的快速方法。
Figure-3: SSMS中停止实例服务
(4)在CMD下启动。
语法是:NET START "Service name",相应的停止服务是:NET STOP "Service name"。其中Service name在Control Panel——Administrative Tools——Services,右键选择相应的服务——Properties中查看。
Figure-4: 查看Service name
Figure-5: CMD下启动和停止SQL Server默认实例
注意,需要使用足够的权限的用户才能启动/停止服务,否则会报以下的错误:
Figure-6: 权限不足,导致操作失败
使用PowerShell,默认PS开头的提示符下,可以成功启动/停止默认实例。但如果操作命名实例,则会提示“服务名无效”,即使操作用户拥有足够的权限。
Figure-7: 使用PowerShell启动/停止SQL Server服务
解决方法就是在PowerShell转入CMD下进行操作。
Figure-8: 转入CMD下操作成功
(5)在CMD下,直接运行“sqlserver.exe”
Figure-9: 找到sqlserver.exe的路径和启动参数
Figure-10: 在CMD下直接执行sqlserver.exe
Figure-11: 在CMD下直接执行sqlserver.exe后显示的信息
前面介绍的4种方法,SQL Server是以后台服务的形式启动的,SQL Server的日志信息会记录到日志文件里。而第5种方法是以一般应用程序在运行,在SQL Server的日志信息直接出现在当前的CMD窗口中。如果按CTRL + C并以Y结束,或关闭CMD窗口,SQL Server进程会被关闭。
Figure-12: CTRL + C并以Y结束sqlserver.exe进程
这种启动SQL Server后,在Services里是看不到启动的,在SSMS也显示为未启动。但是可以正常使用SQL Server。
Figure-13: Service中显示SQL Server并未启动
Figure-14: SSMS中的Database Engine显示停止状态,但能够执行SQL查询
如果此时在SSMS或在Services里再以服务的形式启动SQL Server,会报以下的错误:
Figure-15: 在SSMS中启动时报错
Figure-16: 在Service中启动时报错
同样的,如果已经以服务的形式启动了SQL Server,再以第5种方法再去启动,会报以下错误:
Figure-17: 再次直接执行sqlserver.exe时报错
SQL Server的几种方法就介绍到这里。其实主要使用前面两种方法即可,推荐第2种方法。为什么呢?等以后有机会介绍SQL Server启动的过程,再作解释。
NET START命令的使用,参考以下文档: