通过SQLSERVER重启SQLSERVER服务和计算机的方法

(编辑:jimmy 日期: 2024/12/25 浏览:2)

昨天和朋友在网上谈到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这个组件,但是一般的服务器,

这个组件都是被禁用的。所以要先起用组件才可以应用上面的方法。