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这个组件,但是一般的服务器,
这个组件都是被禁用的。所以要先起用组件才可以应用上面的方法。