启动、停止、暂停、继续、重新启动数据库引擎、SQL Server 代理或 SQL Server Browser 服务

本主题介绍如何使用 SQL Server 配置管理器、SQL Server Management Studio、net 启动、停止、暂停、恢复或重启SQL Server数据库引擎、SQL Server 代理或SQL Server浏览器服务命令提示符、Transact-SQL 或 PowerShell 中的命令。

开始之前

什么是SQL Server数据库引擎服务、SQL Server 代理服务和SQL Server浏览器服务?

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 Agent。 并不是所有版本的 SQL Server都提供 SQL Server 代理。 有关 SQL Server 各版本支持的功能列表,请参阅 SQL Server 2014 版本支持的功能

SQL Server Browser 服务
一种 Windows 服务,可侦听对 SQL Server 资源的传入请求并为客户端提供有关计算机上安装的 SQL Server 实例的信息。 SQL Serve 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-SQLSHUTDOWN 命令停止数据库引擎需要 sysadminserveradmin 固定服务器角色的成员身份,并且不可转移。

使用 SQL Server 配置管理器

启动、停止、暂停、恢复或重启 SQL Server数据库引擎实例

  1. “开始”菜单上,依次指向“所有程序”、“Microsoft SQL Server 2014”、“配置工具”,然后单击“SQL Server 配置管理器”。

  2. 如果此时出现 “用户帐户控制” 对话框,请单击 “是”

  3. 在 SQL Server 配置管理器的左窗格中,单击“SQL Server 服务”。

  4. 在结果窗格中,右键单击 SQL Server (MSSQLServer) 或某个命名实例,然后单击“启动”、“停止”、“暂停”、“继续”或“重启”。

  5. 单击“确定”关闭SQL Server 配置管理器。

注意

若要使用启动选项启动SQL Server数据库引擎的实例,请参阅配置服务器启动选项 (SQL Server 配置管理器)

启动、停止、暂停、继续或重启 SQL Server Browser 或 SQL Server 代理的实例

  1. “开始”菜单上,依次指向“所有程序”、“Microsoft SQL Server 2014”、“配置工具”,然后单击“SQL Server 配置管理器”。

  2. 如果此时出现 “用户帐户控制” 对话框,请单击 “是”

  3. 在 SQL Server 配置管理器的左窗格中,单击“SQL Server 服务”。

  4. 在结果窗格中,右键单击“SQL Server浏览器”,或SQL Server 代理 (命名实例的 MSSQLServer) SQL Server 代理 (<instance_name>) ,然后单击“开始”、“停止”、“暂停”、“恢复”“重启”。

  5. 单击“确定”关闭SQL Server 配置管理器。

注意

SQL Server 代理无法暂停。

使用 SQL Server Management Studio

启动、停止、暂停、恢复或重启 SQL Server数据库引擎实例

  1. 在对象资源管理器中,连接到数据库引擎的实例,右键单击要启动的数据库引擎的实例,然后单击“启动”、“停止”、“暂停”、“继续”或“重启” 。

    或者,在“已注册的服务器”中,右键单击要启动的数据库引擎的实例,指向“服务控制”,然后单击“启动”、“停止”、“暂停”、“继续”或“重启” 。

  2. 如果此时出现 “用户帐户控制” 对话框,请单击 “是”

  3. 系统提示是否要执行该操作时,请单击 “是”

启动、停止或重启SQL Server 代理

  1. 在对象资源管理器中,连接到数据库引擎的实例,右键单击“SQL Server 代理”,然后单击“启动”、“停止”或“重启” 。

  2. 如果此时出现 “用户帐户控制” 对话框,请单击 “是”

  3. 系统提示是否要执行该操作时,请单击 “是”

在命令提示符窗口中使用 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 代理 (instancename) ”

    \- 或 -

    net start SQLAgent$instancename

有关如何在详细模式中运行 SQL Server 代理以执行故障排除的信息,请参阅 sqlagent90 应用程序

启动 SQL Server Browser

  • 在命令提示符下,输入下列命令之一:

    net start "SQL Server Browser"

    -或-

    net start SQLBrowser

在命令提示符窗口中暂停或停止服务

  • 要暂停或停止服务,请通过以下方式修改命令:

    • 若要暂停服务,请将 net start 替换为 net pause

    • 若要停止服务,请将 net start 替换为 net stop

“使用 Transact-SQL”

数据库引擎 可以使用 SHUTDOWN 语句停止。

使用 Transact-SQL 停止 数据库引擎

  • 要等待当前运行的 Transact-SQL 语句和存储过程完成后停止 数据库引擎,请执行以下语句。

    SHUTDOWN;   
    
  • 要立即停止数据库引擎,请执行以下语句:

    SHUTDOWN WITH NOWAIT;   
    

有关 SHUTDOWN 语句的详细信息,请参阅 SHUTDOWN (Transact-SQL)

使用 PowerShell

启动和停止数据库引擎服务

  1. 在命令提示符窗口中,通过执行以下命令启动 SQL Server PowerShell。

    sqlps  
    
  2. 在 SQL Server PowerShell 命令提示符下,执行以下命令。 使用您的计算机名称替换 computername

    # Get a reference to the ManagedComputer class.  
    CD SQLSERVER:\SQL\computername  
    $Wmi = (Get-Item .).ManagedComputer
    
  3. 标识要停止或启动的服务。 选取下列行之一。 使用命名实例的名称替换 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']  
      
  4. 完成示例以启动然后停止所选服务。

    # 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  
    

另请参阅

以最小配置启动 SQL Server
SQL Server 2014 各个版本支持的功能