博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQLserver中的xp_cmdshell
阅读量:5738 次
发布时间:2019-06-18

本文共 1040 字,大约阅读时间需要 3 分钟。

shell是用户与操作系统对话的一个接口,通过shell告诉操作系统让系统执行我们的指令

xp_cmdshell在sqlserver中默认是关闭的存在安全隐患。

--打开xp_cmdshell EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;--关闭xp_cmdshellEXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 0;RECONFIGURE;

以下是跟xp_cmdshell有关的小例子。

1.显示C盘下的内容,这个比较简单

exec xp_cmdshell 'dir c:\'  

 

执行结果如下:

2.将变量写入文本文件

DECLARE @cmd sysname, @var sysnameSET @var = 'Today:2015-12-09'SET @cmd = 'echo ' + @var + ' > c:\Today.txt'EXEC master..xp_cmdshell @cmd

执行上述语句之后,你会在c盘下看到Today这个文件

--在查询分析器上执行(EXEC master..xp_cmdshell)EXEC master..xp_cmdshell 'bcp "select * from 数据库名.dbo.表名" queryout c:\currency.txt -S 数据库实例 -U"用户" -P"密码" -c'--把SQL语句生成一个.sql文件,然后调用--注:路径的文件夹名称中间不能有空格exec master..xp_cmdshell 'osql -S 数据库实例 -U 用户 -P 密码 -i    C:\cmdshellTest.sql'  --将数据导入到currency表中EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名 in c:\currency.txt -c -T'--导入数据也同样可以使用-F和-L选项来选择导入数据的记录行。EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名 in c:\currency.txt -c -F 10 -L 13 -T'

 

转载地址:http://rmyzx.baihongyu.com/

你可能感兴趣的文章
Session与Cookie
查看>>
hadoop2.6.0集群搭建
查看>>
wordpress 伪静态nginx设置
查看>>
Hive lateral view 和 explode 详解
查看>>
Spring 拦截器 学习
查看>>
Nginx Location配置总结
查看>>
nodejs 完成mqtt服务端
查看>>
在ASP.NET MVC 中获取当前URL、controller、action
查看>>
Spring IoC容器初的初始化过程
查看>>
ScrollView has ambiguous scrollable content height
查看>>
linux下启动mysql的命令
查看>>
Windows 2003 AD 单域环境的实现(多站点) 基本
查看>>
双螺旋完备性测试
查看>>
设计模式笔记(四)——装饰者模式
查看>>
iOS屏幕切换的示例
查看>>
我的友情链接
查看>>
openci服务器搭建笔记
查看>>
linux之sed用法
查看>>
快速寻找满足条件的两个数
查看>>
ubuntu 14.10更新15.04
查看>>