用SQL Server执行Server上命令

本文介绍如何通过SQL Server的xp_cmdshell扩展存储过程来远程执行命令,包括启用和禁用该功能的方法,并提供了一个具体的命令执行示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出现了无法登录Server的情况,又要在上面运行一些简单的程序,比如启动一个服务,运行一个批处理等。

--1. 启用高级选项,让xp_cmdshell可开关,如果xp_cmdshell已经打开,则不需要1、2

EXEC sp_configure 'show advanced options', 1
GO
--重新配置
RECONFIGURE
GO
--2. 启用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO
--重新配置
RECONFIGURE
GO

--3. 执行想要的命令,如果有多个命令用&&连接,我碰到的情况是必须exe所在目录执行,所以就得先cd到那个目录,再执行exe,否则找不到配置文件,例子如下:
exec xp_cmdshell 'cd.. && dir'

GO

到止想做的事已经做完了,但凡事要善始善终,打开高级选项和启用xp_cmdshell都组服务器留下了安全隐患,如果有必要就应当关闭这两项。
--4. 关闭xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 0
GO
--重新配置
RECONFIGURE
GO

--5. 停用高级选项,让xp_cmdshell可开关,如果xp_cmdshell已经打开,则不需要1、2

EXEC sp_configure 'show advanced options', 0
GO
--重新配置
RECONFIGURE
GO

顺序和打开的顺序刚好相反。

另外,1,2,3可以先从3执行,3不行就先执行2,再执行3,如果2执行失败只能从1执行到3,这样倒过来执行一下,原来的状态就能判断出来了。选择性关闭4和5也是必要的,防止影响其他应用。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值