使用T-SQL调用DOS命令

 在SQL Server中调用DOS命令的语法为:

    exec xp_cmdshell 'DOS命令'
 使用此命令来测试创建文件夹:


 

错误消息中明确的指出了xp_cmdshell并没有打开,这涉及到服务器安全的问题。嗯,理解

那么要如何打开呢?

通过查阅MSDN文档,得到以下结果:

exec sp_configure 'show advanced options',1 --启用高级配置
go
reconfigure -- 重启
go
exec sp_configure 'xp_cmdshell',1  --启用DOS命令
go
reconfigure
go 

通过以上的设定,就可以使用DOS命令了

但是这样存在一个问题,一旦执行以上代码,就意味着高级配置被开启,这很危险呀!

所以,当我们需要执行DOS命令时,具体步骤是:

启用高级配置 --> 启用DOS命令  -->  执行DOS命令 --> 关闭DOS命令 --> 停用高级配置

下面以建立文件夹为例:

	exec sp_configure 'show advanced options',1--启用高级配置
	go
	reconfigure --重启
	go
	exec sp_configure 'xp_cmdshell',1		--启用DOS命令
	go
	reconfigure
	go
	exec xp_cmdshell 'md D:\Test'		--执行DOS命令
	go
	exec sp_configure 'xp_cmdshell',0		--禁用DOS命令
	go
	reconfigure
	go
	exec sp_configure 'show advanced options',0--禁用高级配置
	reconfigure
	go

 这样的好处是每次执行完毕后都会关闭DOS命令功能,保证了服务器的安全性。

猜你喜欢

转载自softmanage.iteye.com/blog/2179468