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

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

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

时间: 2024-09-12 21:52:12

通过SQLSERVER重启SQLSERVER服务和计算机的方法_MsSql的相关文章

Centos修改DNS重启或重启network服务后丢失问题解决方法_Linux

介绍 我们在配置Centos的时候,很多情况需要能联外网,那么就需要DNS解析功能,默认的是没有配置DNS信息的,所以我们得配置DNS信息 起因 我们在搜索Centos配置DNS信息的时候,很多都是说在这个文件进行配置"/etc/resolv.conf",我们在这个里面加了nameserver后确实可以ping通域名,但是重启centos或者重启network服务后就无法ping通了,在"/etc/resolv.conf"配置的nameserver信息也丢失了. 处

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

昨天和朋友在网上谈到SQL语句的应用,我朋友的远程服务器出现了无法连接的现象,问题的原因是远程服务器到达了最大连接数,为了实现远程重新启动,从而想到了用SQL语句命令实现这个功能,但是具体的命令格式给忘记了,找了点资料,把方法写在下面, 希望可以给大家一些帮助吧,呵呵 首先在本地计算机--创建重启脚本 复制代码 代码如下: declare @o int,@f int,@t int,@ret int exec sp_oacreate 'scripting.filesystemobject',@o

SQLserver 数据库危险存储过程删除与恢复方法_MsSql

今天为了实现SQLServer/" target="_blank">sqlserver的复制功能,因为以前删除了很多的sqlserver的一些会导致不安全因素的扩展,导致很多功能无法用,没有办法需要重新的恢复扩展. 曾经遇过,差点抓狂,有装MSSQL的朋友,赶紧试一下,删除以下的组件.当然,前提是你要把自己的数据库搞定后再去删除,否则组件删除后很多功能不能用,为了安全,就得牺牲某些功能,当然,像我这类的,我除了把MSSQL导入后,基本上一年用不到两次,所以,我是会毫不犹

设置密码保护的SqlServer数据库备份文件与恢复文件的方法_MsSql

设置密码保护SqlServer数据库备份文件! 备份SqlServer数据库 Backup Database [数据库] To disk='c:\mysql'+ replace(replace(replace(replace(CONVERT(varchar, getdate(), 121),'-',''),' ',''),':',''),'.','') +'.bak' With Password = '123',init; 恢复SqlServer数据库 Restore Database [数据库

sqlserver 复制表 复制数据库存储过程的方法_MsSql

在目前的工作中需要解决复制整个SqlServer数据库的问题,复制的内容包括数据库大纲.数据库中的存储过程.函数.表结构.主外键关系以及表中的所有数据等,也就是说copy版本与原数据库一模一样.经过一段时间的摸索,找到的一个比较简单的解决方案是:  (1)在复制数据库之前,先备份该数据库到文件.  (2)依据备份文件创建新的数据库,并Restore即可.  备份数据库可用如下Sql语句:  string.Format("backup database {0} to disk = '{1}';&q

SqlServer中查看当前Open的Cursor方法_MsSql

遇到错误:A cursor with thename ' ' already exists,想要看是什么代码导致的.找到下面几种方法. --测试声明Cursor并且打开 DECLARE vend_cursor CURSOR FOR SELECT * FROMPurchasing.Vendor OPEN vend_cursor FETCH NEXTFROMvend_cursor; --使用下面的三种方法都可以 SELECT ec.session_id,ec.name,ec.properties,e

SQLSERVER数据库中的5173错误解决方法_MsSql

昨天同事给你我一个有问题的数据库,叫我修复一下因为客户那边需要这个数据库,这个数据库只有一个mdf文件和一个ldf文件, 当我附加数据库的时候报错,数据库是SQL2005 附上有损坏的数据库文件: 因为之前在论坛也遇到过,所以按照论坛的方法来解决,结果还是不行 把ldf文件移到别的地方,然后附加的时候使用下面SQL语句重建事务日志文件 我的数据库文件放在C:\Users\Administrator\Desktop\新建文件夹目录下 复制代码 代码如下: USE [master] GO CREAT

sqlserver Union和SQL Union All使用方法_MsSql

SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2 注释:默认地,UNION 操作符选取不同的值,即UNION是去了重

sqlserver自动增长列引起的问题解决方法_MsSql

有两个结构完全相同的表,由其中一个表插入另一个表中指定条件的数据,报如下错误: 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'*'中的标识列指定显式值. 在网上找到了解决方案,亲自试过,可以解决. 方法: 复制代码 代码如下: SET IDENTITY_INSERT test ON insert into test(id,name) select id,name from test2 --<SPAN style="FONT-SIZE: 14px; COLOR