Welcome

首页 / 数据库 / SQLServer / 通过SQLSERVER重启SQLSERVER服务和计算机的方法

昨天和朋友在网上谈到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: estart.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: estart.bat"

/*
如果重新启动计算机,请确认mssqlserver账户在管理员账户下运行(非本地系统账户)

*/

exec master..xp_cmdshell "shutdown /r /f"

这里有个前提,那就是需要用到服务器上的一个组件,xp_cmdshell这个组件,但是一般的服务器,

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