启动、停止、暂停、继续、重新启动数据库引擎、SQL Server 代理或 SQL Server Browser 服务
本主题说明如何使用 SQL Server 配置管理器、SQL Server Management Studio、命令提示符下的 net 命令、Transact-SQL 或 PowerShell 启动、停止、暂停、继续或重新启动 SQL Server 数据库引擎、SQL Server 代理或 SQL Server Browser 服务。
开始之前:
这些服务是什么?
其他信息
安全性
相关说明:
SQL Server 配置管理器
SQL Server Management Studio
命令提示符窗口中的 net 命令
Transact-SQL
PowerShell
开始之前
什么是 SQL Server 数据库引擎服务、SQL Server 代理服务和 SQL Server Browser 服务?
SQL Server 组件是作为 Windows 服务运行的可执行程序。 作为 Windows 服务运行的程序可以继续运行,而不在计算机屏幕上显示任何活动。
数据库引擎 服务
作为 SQL Server 数据库引擎的可执行进程。 数据库引擎可以是默认实例(每台计算机只有一个),也可以是多个数据库引擎命名实例中的一个。 使用 SQL Server 配置管理器确定在计算机上安装哪些数据库引擎实例。 默认实例(如果安装)作为 SQL Server (MSSQLSERVER) 列出。 命名实例(如果安装)作为 SQL Server (<instance_name>) 列出。 默认情况下,SQL Server Express 安装为 SQL Server (SQLEXPRESS)。SQL Server 代理服务
一种 Windows 服务,可执行计划的管理任务(称为作业和警报)。 有关详细信息,请参阅SQL Server 代理。 并非所有版本的 SQL Server 都提供 SQL Server 代理。 有关 SQL Server 各版本支持的功能列表,请参阅 SQL Server 2012 各个版本支持的功能 (https://go.microsoft.com/fwlink/?linkid=232473)。SQL Server Browser 服务
一种 Windows 服务,可侦听对 SQL Server 资源的传入请求并为客户端提供有关计算机中安装的 SQL Server 实例的信息。 SQL Server Browser 服务的单个实例用于计算机上安装的所有 SQL Server 实例。
其他信息
暂停数据库引擎服务将阻止新用户连接到数据库引擎,但是已连接的用户可以继续工作到连接断开时为止。 当希望在您停止该服务前等待用户完成工作时,请使用“暂停”。 这使他们能够完成正在进行的事务。 “继续”允许数据库引擎再次接受新连接。 SQL Server 代理服务不能暂停或继续。
SQL Server 配置管理器和 SQL Server Management Studio 使用以下图标显示服务的当前状态。
SQL Server 配置管理器
服务名称旁边的图标上的绿色箭头表示服务已启动。
服务名称旁边的图标上的红色正方形表示服务已停止。
服务名称旁边的图标上的两条蓝色竖线表示服务已暂停。
重新启动数据库引擎时,将用红色正方形表示服务已停止,然后用绿色箭头表示服务已成功启动。
SQL Server Management Studio
服务名称旁边的绿色圆圈图标上的白色箭头表示服务已启动。
服务名称旁边的红色圆圈图标上的白色正方形表示服务已停止。
服务名称旁边的蓝色圆圈图标上的两条白色竖线表示服务已暂停。
使用 SQL Server 配置管理器或 SQL Server Management Studio 时,只提供可能的选项。 例如,如果服务已启动,**“启动”**将不可用。
在群集上运行时,SQL Server 数据库引擎服务最好使用群集管理器来管理。
安全性
权限
默认情况下,只有本地管理员组的成员能够启动、停止、暂停、继续或重新启动服务。 若要向管理员之外的用户授予管理服务的权限,请参阅如何授予用户管理 Windows Server 2003 中的服务的权限。 (此过程在其他 Windows 版本上是类似的。)
使用 Transact-SQL SHUTDOWN 命令停止数据库引擎需要 sysadmin 或 serveradmin 固定服务器角色的成员资格并且不可转让。
[Top]
使用 SQL Server 配置管理器
启动、停止、暂停、继续或重新启动 SQL Server 数据库引擎实例
在**“开始”菜单中,依次指向“所有程序”、 Microsoft SQL Server 2012 、“配置工具”,然后单击“SQL Server 配置管理器”**。
如果此时出现**“用户帐户控制”对话框,请单击“是”**。
在 SQL Server 配置管理器的左窗格中,单击**“SQL Server 服务”**。
在结果窗格中,右键单击 SQL Server (MSSQLServer) 或某个命名实例,然后单击**“启动”、“停止”、“暂停”、“继续”或“重新启动”**。
单击**“确定”**关闭 SQL Server 配置管理器。
注意 |
---|
要使用启动选项启动 SQL Server 数据库引擎 实例,请参阅配置服务器启动选项(SQL Server 配置管理器)。 |
启动、停止、暂停、继续或重新启动 SQL Server Browser 或 SQL Server 代理实例
在**“开始”菜单中,依次指向“所有程序”、 Microsoft SQL Server 2012 、“配置工具”,然后单击“SQL Server 配置管理器”**。
如果此时出现**“用户帐户控制”对话框,请单击“是”**。
在 SQL Server 配置管理器的左窗格中,单击**“SQL Server 服务”**。
在结果窗格中,右键单击 SQL Server Browser、“SQL Server 代理(MSSQLServer)”或“SQL Server 代理(<instance_name>)”(对于命名实例),然后单击**“启动”、“停止”、“暂停”、“继续”或“重新启动”**。
单击**“确定”**关闭 SQL Server 配置管理器。
注意 |
---|
SQL Server 代理不能暂停。 |
[Top]
使用 SQL Server Management Studio
启动、停止、暂停、继续或重新启动 SQL Server 数据库引擎实例
在对象资源管理器中,连接到数据库引擎实例,右键单击要启动的数据库引擎实例,然后单击**“启动”、“停止”、“暂停”、“继续”或“重新启动”**。
或者,在“已注册的服务器”中,右键单击要启动的数据库引擎实例,指向**“服务控制”,然后单击“启动”、“停止”、“暂停”、“继续”或“重新启动”**。
如果此时出现**“用户帐户控制”对话框,请单击“是”**。
系统提示是否要执行该操作时,请单击**“是”**。
启动、停止或重新启动 SQL Server 代理实例
在对象资源管理器中,连接到数据库引擎实例,右键单击**“SQL Server 代理”,然后单击“启动”、“停止”或“重新启动”**。
如果此时出现**“用户帐户控制”对话框,请单击“是”**。
系统提示是否要执行该操作时,请单击**“是”**。
[Top]
在命令提示符窗口中使用 net 命令
可以使用 Microsoft Windows net 命令启动、停止或暂停 Microsoft SQL Server 服务。
启动数据库引擎的默认实例
在命令提示符下,输入下列命令之一:
net start "SQL Server (MSSQLSERVER)"
- 或者 -
net start MSSQLSERVER
启动数据库引擎的命名实例
在命令提示符下,输入下列命令之一。 请用要管理的实例的名称替换 <instancename>。
net start "SQL Server (instancename)"
- 或者 -
net start MSSQL$instancename
使用启动选项启动数据库引擎
将启动选项添加到 net start "SQL Server (MSSQLSERVER)" 语句末尾,用空格分隔。 使用 net start 启动时,启动选项使用正斜杠 (/) 而不是连字符 (-)。
net start "SQL Server (MSSQLSERVER)" /f /m
- 或者 -
net start MSSQLSERVER /f /m
注意 有关启动选项的详细信息,请参阅数据库引擎服务启动选项。
在SQL Server默认实例上启动 SQL Server 代理
在命令提示符下,输入下列命令之一:
net start "SQL Server Agent (MSSQLSERVER)"
- 或者 -
net start SQLSERVERAGENT
在SQL Server命名实例上启动 SQL Server 代理
在命令提示符下,输入下列命令之一。 请用要管理的实例的名称替换 instancename。
net start "SQL Server Agent(instancename)"
- 或者 -
**net start SQLAgent$**instancename
有关如何在详细模式中运行 SQL Server 代理以执行故障排除的信息,请参阅 sqlagent90 应用程序。
启动 SQL Server Browser
在命令提示符下,输入下列命令之一:
net start "SQL Server Browser"
- 或者 -
net start SQLBrowser
在命令提示符窗口中暂停或停止服务
要暂停或停止服务,请通过以下方式修改命令:
要暂停服务,请用 net pause 替换 net start。
要停止服务,请用 net stop 替换 net start。
[Top]
使用 Transact-SQL
可以使用 SHUTDOWN 语句停止数据库引擎。
使用 Transact-SQL 停止数据库引擎
要等待当前运行的 Transact-SQL 语句和存储过程完成后停止数据库引擎,请执行以下语句:
SHUTDOWN;
要立即停止数据库引擎,请执行以下语句:
SHUTDOWN WITH NOWAIT;
有关 SHUTDOWN 语句的详细信息,请参阅 SHUTDOWN (Transact-SQL)。
[Top]
使用 PowerShell
启动和停止数据库引擎服务
在命令提示符窗口中,通过执行以下命令启动 SQL Server PowerShell:
sqlps
在 SQL Server PowerShell 命令提示符下,执行以下命令。 使用您的计算机名称替换 computername。
# Get a reference to the ManagedComputer class. CD SQLSERVER:\SQL\computername $Wmi = (get-item .).ManagedComputer
标识要停止或启动的服务。 选取下列行之一。 使用命名实例的名称替换 instancename。
获取对数据库引擎默认实例的引用。
$DfltInstance = $Wmi.Services['MSSQLSERVER']
获取对数据库引擎命名实例的引用。
$DfltInstance = $Wmi.Services['MSSQL$instancename']
获取对数据库引擎默认实例上 SQL Server 代理服务的引用。
$DfltInstance = $Wmi.Services['SQLSERVERAGENT']
获取对数据库引擎命名实例上 SQL Server 代理服务的引用。
$DfltInstance = $Wmi.Services['SQLAGENT$instancename']
获取对 SQL Server Browser 服务的引用。
$DfltInstance = $Wmi.Services['SQLBROWSER']
完成示例以启动然后停止所选服务。
# Display the state of the service. $DfltInstance # Start the service. $DfltInstance.Start(); # Wait until the service has time to start. # Refresh the cache. $DfltInstance.Refresh(); # Display the state of the service. $DfltInstance # Stop the service. $DfltInstance.Stop(); # Wait until the service has time to stop. # Refresh the cache. $DfltInstance.Refresh(); # Display the state of the service. $DfltInstance
[Top]