如果 SQL Server 数据库引擎未启动,则会执行一个故障排除步骤,尝试从命令提示符启动数据库引擎。本主题说明了如何启动数据库引擎实例。
注意
为了进行故障排除,SQL Server 应当只从命令提示符启动。若要启动 SQL Server 数据库引擎作为常规使用,请参阅如何启动 SQL Server 实例(SQL Server 配置管理器)。
正常的 SQL Server 启动是一项复杂的活动,需要正确定位的 SQL Server 文件、为 SQL Server 和 Microsoft Windows 服务配置的注册表设置以及 SQL Server 服务使用域帐户时的正确文件和注册表权限。因此,排除故障的一个常用步骤是通过简化其环境来确定 SQL Server 是否能够在理想条件下启动。通常,故障排除过程开始时会显示以下问题:“使用‘本地管理员’组中的帐户,而不使用 Windows 服务控制管理器,SQL Server 是否能够启动?”答案“是”表示问题可能与服务控制管理器有关,也可能与分配给 SQL Server 服务正在尝试使用的帐户的权限有关。答案“否”可能显示一个以前使用服务控制管理器时未显示的错误消息,并可能表示 SQL Server 文件或注册表设置存在问题。
注意
除了测试是否能够启动 SQL Server,请不要从命令行运行 SQL Server。SQL Server 从命令行启动后执行维护操作可能会导致以后发生错误。例如,如果您以管理员身份登录,并创建新数据库或更改数据文件位置,则以后以 SQL Server 服务的正常帐户身份运行时,SQL Server 将可能无法访问它。
从命令行运行 SQL Server 时,请考虑以下限制:
最小化命令提示符窗口将导致 Windows 删除 SQL Server 中的几乎所有资源。这很正常,因为 SQL Server 并没有设计为以该方式操作。
SQL Server 在用户的安全上下文中运行,而不是在安装期间分配用来运行 SQL Server 的帐户的安全上下文中运行。
所有系统消息都将显示在用来启动 SQL Server 实例的窗口中。
不能使用 SQL Server Management Studio、SQL Server 配置管理器、控制面板中的“服务”应用程序或者任何 net 命令(例如,net start、net pause、net continue 和 net stop)来暂停、停止或恢复作为 Microsoft Windows 服务的 SQL Server 实例。
在注销 Windows 之前,必须关闭 SQL Server 实例。
您键入的任何命令提示符选项都优先于由 SQL Server 安装程序写入 Windows 注册表中的默认命令提示符选项。
SQL Server 配置管理器和 SQL Server Management Studio 显示该服务已停止。
启动正确的 SQL Server 实例
默认情况下,sqlservr.exe 位于 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn。如果安装了另一个 SQL Server 实例,另一个 sqlservr.exe 将位于如下目录中:C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\binn。您可以使用一个实例的 sqlservr.exe 来启动另一个 SQL Server 实例,但 SQL Server 同时会启动错误的实例版本(包括 Service Pack),并可能导致意外结果。若要避免出现这种问题,请在启动 sqlservr.exe 之前使用 MS-DOS 更改目录命令 (cd) 移动到正确的目录(如以下示例所示)。
cd \Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn
从命令提示符启动 SQL Server 默认实例
从命令提示符输入以下命令
sqlservr.exe
从命令提示符启动 SQL Server 命名实例
在命令提示符下,输入以下命令并将 <instancename> 替换为要启动的实例名:
sqlservr.exe -s <instancename>
从命令提示符用单用户模式启动 SQL Server 默认实例
从命令提示符输入以下命令:
sqlservr.exe -m
在您不希望任何其他用户连接到 SQL Server 的情况下执行紧急维护时,单用户模式可能非常有用,但任何用户均可成为单用户,包括 SQL Server 代理服务。
从命令提示符用单用户模式启动 SQL Server 命名实例
从命令提示符输入以下命令:
sqlservr.exe -m -s <instancename>
用最小配置启动 SQL Server 默认实例
从命令提示符输入以下命令:
sqlservr.exe -f
用最小配置启动 SQL Server 命名实例
从命令提示符输入以下命令:
sqlservr.exe -f -s <instancename>
【编辑推荐】