SQL Server服务管理

在 SQL Server 中管理服务(启动、停止、重启、配置启动类型、更改账户等)主要有以下几种方法,适用于不同场景:

📌 推荐方法:使用 SQL Server 配置管理器 (SQL Server Configuration Manager)

  1. 打开工具:

    • Windows 搜索:按 Win + S,输入 SQL Server Configuration Manager 或 SQL Server 配置管理器,选择对应版本(如 SQL Server 2022 Configuration Manager)。
    • 路径:C:\Windows\SysWOW64\SQLServerManager<版本号>.msc (例如 SQLServerManager16.msc for SQL Server 2022)。
  2. 找到服务列表:

    • 在左侧窗格展开 SQL Server 服务。
    • 右侧窗格会列出当前计算机上安装的所有 SQL Server 实例的服务。
  3. 管理服务:

    • 启动/停止/重启/暂停/继续服务:
      • 右键单击服务名称(如 SQL Server (MSSQLSERVER) 或 SQL Server (实例名))。
      • 选择 启动、停止、重新启动、暂停、继续。
    • 查看服务状态: 状态列会显示 Running(正在运行)、Stopped(已停止)、Paused(已暂停)。
    • 更改启动模式:
      • 右键单击服务 -> 属性。
      • 切换到 服务 选项卡。
      • 在 启动模式 下拉框中选择:
        • 自动:Windows 启动时自动启动(生产环境推荐)。
        • 手动:需要用户或脚本手动启动。
        • 已禁用:服务完全禁用,无法启动(谨慎使用)。
      • 点击 应用 或 确定。
    • 更改服务账户:
      • 右键单击服务 -> 属性 -> 登录 选项卡。
      • 选择 登录身份:
        • 内置账户 :通常选择 NT AUTHORITY\NETWORK SERVICE 或 NT AUTHORITY\SYSTEM(本地系统)。这是最常见且相对安全的选项。
        • 本账户 :指定特定的域账户或本地账户。仅当服务需要访问域资源(如网络共享)时才需要更改为此选项,且务必确保该账户具有必要权限。
      • 输入密码(如果选择"本账户"): 在 密码 和 确认密码 框中输入。
      • 点击 应用。
      • 重要提示: 在此处更改账户会自动授予该账户 SQL Server 文件和数据目录的必要权限,这是最安全可靠的方式更改服务账户。
    • 查看高级属性: 在 高级 选项卡可以查看实例 ID、启动参数等(一般无需修改)。

🧰 其他常用方法

  1. Windows 服务控制台 (services.msc)

    • 按 Win + R,输入 services.msc,回车。
    • 在列表中找到以 SQL Server (实例名) 开头的服务(如 SQL Server (MSSQLSERVER))。
    • 右键单击服务进行管理(启动、停止、重启、暂停、继续、配置启动类型)。
    • 优点: 通用 Windows 界面,熟悉。
    • 缺点:
      • 服务列表较长时,SQL Server 特定服务(如 SQL Server Agent, SSIS, SSAS, SSRS)混杂其中,查找稍慢。
      • 更改服务账户不如配置管理器安全可靠(不会自动设置文件权限,可能导致启动失败)。
  2. 命令提示符 (cmd.exe) 或 PowerShell

    • 启动服务:
      • net start "服务名" (例如 net start "SQL Server (MSSQLSERVER)")
      • sc start "服务名"
      • PowerShell: Start-Service -Name "服务名"
    • 停止服务:
      • net stop "服务名"
      • sc stop "服务名"
      • PowerShell: Stop-Service -Name "服务名" -Force (-Force 强制停止)
    • 重启服务:
      • net stop "服务名" & net start "服务名"
      • PowerShell: Restart-Service -Name "服务名" -Force
    • 查看服务状态:
      • sc query "服务名"
      • net start (列出所有正在运行的服务)
      • tasklist /svc /fi "imagename eq sqlservr.exe" (查看 sqlservr.exe 进程关联的服务名)
      • PowerShell: Get-Service -Name "服务名" 或 Get-Service -DisplayName "SQL Server (*"
    • 设置启动类型:
      • sc config "服务名" start= auto (自动)
      • sc config "服务名" start= demand (手动)
      • sc config "服务名" start= disabled (禁用)
    • 更改服务账户 (需管理员权限):
      • sc config "服务名" obj= "domain\username" password= "password"
      • ⚠️ 警告: 此命令会将密码明文记录在命令历史中,存在安全隐患。更推荐在配置管理器中修改。
    • 优点: 适合脚本化、自动化管理、远程管理。
    • 缺点: 需要记住命令和服务的确切名称。
  3. SQL Server Management Studio (SSMS)

    • 启动/停止 SQL Server 服务 (仅限于当前连接的服务):
      • 连接到目标 SQL Server 实例。
      • 右键单击服务器根节点 -> 启动/停止/暂停/重新启动。
      • 主要用于连接后临时启停数据库引擎本身 (sqlservr.exe)。
    • 管理 SQL Server Agent 作业:
      • 连接到实例后,在 SQL Server 代理 节点下右键 -> 启动/停止。
    • 缺点:
      • 只能管理已连接实例的数据库引擎和代理服务(且需有权限)。
      • 无法管理其他服务(SSIS, SSAS, SSRS)。
      • 无法更改启动类型、服务账户等核心配置。

📌 关键服务说明

  • SQL Server (实例名): 数据库引擎核心服务。必须运行才能访问数据库。
  • SQL Server Agent (实例名): 负责自动化任务(作业、警报、操作员)。生产环境通常设为自动启动。
  • SQL Server Browser: 帮助客户端找到命名实例的端口号。单实例或固定端口连接时可禁用。
  • SQL Server Reporting Services (实例名)/SSRS: 报表服务。
  • SQL Server Analysis Services (实例名)/SSAS: 分析服务。
  • SQL Server Integration Services <版本号>/SSIS: 集成服务引擎。

💡 最佳实践与注意事项

  1. 首选 SQL Server 配置管理器: 这是管理 SQL Server 服务的官方且最安全的工具,尤其对于更改服务账户和文件权限。
  2. 谨慎更改服务账户: 除非必要(如访问域资源),否则优先使用内置账户 (NETWORK SERVICE 或 LOCAL SYSTEM)。更改账户后务必确认服务能正常启动。
  3. 理解启动类型: 生产核心服务(数据库引擎、Agent)设为 自动。辅助服务(如仅偶尔使用的 SSIS)可设为 手动。 禁用 用于彻底阻止服务运行。
  4. 停止服务前: 确保没有用户或关键进程连接。
  5. 重启服务: 是应用某些配置更改(如内存设置、跟踪标志)的必要步骤。
  6. 权限: 管理服务通常需要本地管理员权限。
  7. 实例名: 默认实例名为 MSSQLSERVER(在服务列表中显示为 SQL Server (MSSQLSERVER))。命名实例显示为 SQL Server (YourInstanceName)。
  8. 依赖关系: SQL Server Agent 依赖于 SQL Server Database Engine 服务。停止引擎服务时,Agent 也会停止。

根据您的具体需求(日常维护、脚本自动化、配置账户等),选择最适合的方法即可。对于大多数常规操作,SQL Server 配置管理器 是最佳起点。

相关推荐
IvorySQL6 小时前
PostgreSQL 日报|修复截断 zstd 备份检测(10 月 9 日)
数据库·postgresql
刘胡子大叔7 小时前
SQL 脚本的导入顺序
数据库·sql
代码什么用7 小时前
Spring对IoC的实现
数据库·spring
hz567899 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC9 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
程序员Sunday9 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
半杯咖啡半行码10 小时前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt
小米里的大麦10 小时前
16 MySQL 事务
数据库·mysql
西柚小萌新10 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)
java·开发语言·数据库
邓工说电11 小时前
智慧断路器安全吗?数据加密、离线保护与合规认证全解读
大数据·数据库·人工智能·智能断路器·炜晔科技