碰到 Sqlserver 服務器 有時候重啟服務器沒啟動(或者由於某些情況下停止服務了)
所以,弄個每天定時檢查啟動sqlserver代理服務
做法:使用 window任務計划 + bat
材料:Sqlserver2014 + win10 64位家庭版
1.bat :(感謝:https://blog.csdn.net/kk185800961/article/details/43816319)
@echo off for /f "skip=3 tokens=4" %%i in ('sc query SQLSERVERAGENT') do set "zt=%%i" &goto :next :next if /i "%zt%"=="RUNNING" ( echo "SQL Server 代理 (MSSQLSERVER) 服務在運行。" ) else ( echo "SQL Server 代理 (MSSQLSERVER) 服務處理停止狀態,准備啟動……" net start SQLSERVERAGENT ping /n 3 127.1>nul ) #pause>nul
之后,有個問題,執行這個,必須需要 管理員
所以,需要在 bat 前面 加上(感謝:https://zhidao.baidu.com/question/649678679924639445.html):
net session >nul 2>&1 if not "%errorLevel%" == "0" ( echo Oops: This tools must run with administrator permissions! echo it will popup the UAC dialog, please click [Yes] to continue. echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "%*", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /b 2 )
所以 這個bat 的 內容為:
net session >nul 2>&1 if not "%errorLevel%" == "0" ( echo Oops: This tools must run with administrator permissions! echo it will popup the UAC dialog, please click [Yes] to continue. echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "%*", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /b 2 ) @echo off for /f "skip=3 tokens=4" %%i in ('sc query SQLSERVERAGENT') do set "zt=%%i" &goto :next :next if /i "%zt%"=="RUNNING" ( echo "SQL Server 代理 (MSSQLSERVER) 服務在運行。" ) else ( echo "SQL Server 代理 (MSSQLSERVER) 服務處理停止狀態,准備啟動……" net start SQLSERVERAGENT ping /n 3 127.1>nul ) #pause>nul
之后,給要執行的文件 賦予User權限
2.winow計划(感謝:https://jingyan.baidu.com/article/9989c746210d2bf649ecfe5a.html)
右擊=》“我的電腦”=》“管理”=》“系統工具”=》“任務計划程序庫”=》“創建基本任務”=》....(后續自行操作--偷懶):注:如果是服務器的話(控制面板=》系統和安全=》管理工具=》任務計划程序)
參考:https://blog.csdn.net/kk185800961/article/details/43816319
https://jingyan.baidu.com/article/9989c746210d2bf649ecfe5a.html
https://zhidao.baidu.com/question/649678679924639445.html