昨天和朋友在網上談到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這個組件,但是一般的服務器,
這個組件都是被禁用的。所以要先起用組件才可以應用上面的方法。