通過SQLSERVER重啟SQLSERVER服務和計算機的方法

為了實現遠程重新啟動,從而想到了用SQL語句命令實現這個功能,但是具體的命令格式給忘記了,找了點資料,把方法寫在下面

昨天和朋友在網上談到SQL語句的應用,我朋友的遠程服務器出現了無法連接的現象,問題的原因是遠程服務器到達了最大連接數,為了實現遠程重新啟動,從而想到了用SQL語句命令實現這個功能,但是具體的命令格式給忘記了,找了點資料,把方法寫在下面,

希望可以給大家一些幫助吧,呵呵

首先在本地計算機–創建重啟腳本
代碼如下:
declare @o int,@f int,@t int,@ret int
exec sp_oacreate ‘scripting.filesystemobject’,@o out
exec sp_oamethod @o,’createtextfile’,@f out,’c:restart.bat’,1
exec @ret=sp_oamethod @f,’writeline’,NULL,’net stop mssqlserver
exec @ret=sp_oamethod @f,’writeline’,NULL,’net start mssqlserver

通過SQL數據庫連接到遠程服務器–執行重啟腳本
exec master..xp_cmdshell ‘c:restart.bat’

/*
如果重新啟動計算機,請確認mssqlserver賬戶在管理員賬戶下運行(非本地系統賬戶)

*/

exec master..xp_cmdshell ‘shutdown /r /f’

這里有個前提,那就是需要用到服務器上的一個組件,xp_cmdshell這個組件,但是一般的服務器,

這個組件都是被禁用的。所以要先起用組件才可以應用上面的方法。

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享