脚本丨一键启动、停止SQL Server相关服务-SQL Server服务中心-电脑网络-本牛千智丨专注WorkFine开发

脚本丨一键启动、停止SQL Server相关服务

作用:一键启动、停止SQL Server相关服务

使用方法:下载后解压,右键 => 以管理员身份运行

20260117222636732-SQL-Server启动.zip
zip文件
894B

详细说明

下面是一个 交互式批处理脚本(.bat),它会:

  1. 自动检测当前 SQL Server 相关服务的状态(基于你提供的服务名);
  2. 显示菜单让用户选择 启动停止 SQL Server(含代理);
  3. 自动以所需权限执行操作(若非管理员会提示);
  4. 操作完成后显示结果。

✅ 脚本功能说明

  • 服务列表:MSSQLSERVER(数据库引擎)、SQLSERVERAGENT(代理)
  • 自动判断当前状态(运行/已停止)
  • 支持一键启停
  • 需要管理员权限(脚本会自动检测并提示)

📜 脚本内容:SQLServerControl.bat

@echo off
setlocal

:: 检查是否以管理员身份运行
net session >nul 2>&1
if %errorLevel% NEQ 0 (
    echo 请以管理员身份运行此脚本!
    echo 右键该文件,选择“以管理员身份运行”。
    pause
    exit /b
)

:MENU
cls
echo.
echo ==============================
echo   SQL Server 服务控制面板
echo ==============================
echo.

:: 检查 MSSQLSERVER 状态
sc query "MSSQLSERVER" | findstr /i "STATE.*RUNNING" >nul
if %errorlevel% == 0 (
    set "DB_STATUS=运行中"
) else (
    set "DB_STATUS=已停止"
)

:: 检查 SQLSERVERAGENT 状态
sc query "SQLSERVERAGENT" | findstr /i "STATE.*RUNNING" >nul
if %errorlevel% == 0 (
    set "AGENT_STATUS=运行中"
) else (
    set "AGENT_STATUS=已停止"
)

echo 当前状态:
echo   - 数据库引擎 (MSSQLSERVER): %DB_STATUS%
echo   - SQL Server 代理: %AGENT_STATUS%
echo.
echo 请选择操作:
echo   1. 启动 SQL Server(含代理)
echo   2. 停止 SQL Server(含代理)
echo   3. 仅启动数据库引擎
echo   4. 仅停止数据库引擎
echo   Q. 退出
echo.
set /p choice="请输入选项 (1/2/3/4/Q): "

if /i "%choice%"=="1" goto START_ALL
if /i "%choice%"=="2" goto STOP_ALL
if /i "%choice%"=="3" goto START_ENGINE
if /i "%choice%"=="4" goto STOP_ENGINE
if /i "%choice%"=="Q" exit /b

echo 无效选项,请重试。
timeout /t 2 /nobreak >nul
goto MENU

:START_ENGINE
echo.
echo 正在启动数据库引擎 (MSSQLSERVER)...
net start "MSSQLSERVER"
goto AFTER_ACTION

:STOP_ENGINE
echo.
echo 正在停止数据库引擎 (MSSQLSERVER)...
net stop "MSSQLSERVER" /y
goto AFTER_ACTION

:START_ALL
echo.
echo 正在启动数据库引擎...
net start "MSSQLSERVER"
echo.
echo 正在启动 SQL Server 代理...
net start "SQLSERVERAGENT"
goto AFTER_ACTION

:STOP_ALL
echo.
echo 正在停止 SQL Server 代理...
net stop "SQLSERVERAGENT" /y
echo.
echo 正在停止数据库引擎...
net stop "MSSQLSERVER" /y
goto AFTER_ACTION

:AFTER_ACTION
echo.
echo 操作完成。
pause
goto MENU

🔧 使用方法

  1. 复制上面全部内容,粘贴到记事本;
  2. 保存为 SQLServerControl.bat(注意扩展名是 .bat,不是 .txt);
  3. 右键 → 以管理员身份运行
  4. 根据菜单选择操作即可。

💡 补充说明

  • 脚本只操作你实际存在的服务(MSSQLSERVERSQLSERVERAGENT),安全可靠;
  • 如果某服务已启动/停止,再次执行会提示“服务已在运行”或“服务未启动”,属于正常现象;
  • 未来如需添加其他服务(如 Browser),只需按相同逻辑扩展即可。

请登录后发表评论

    请登录后查看回复内容