SQL Server 2005 启用 xp_cmdshell 使用T-SQL语句导出数据到文件
2010-01-14 17:29
1111 查看
最近在搞linux和MySQL,想把SQLServer2005的数据导入到MySQL中,这个操作很简单.但是手欠,非要写T-SQL语句完成;
还好在网上搜到xp_cmdshell调用bcp实现,天真的就到数据库中实验,结果可想而知,xp_cmdshell操作的功能如此强大,没有理由随意开启它.
exec master..xp_cmdshell ’bcp "库名..表名" out "d:/tt.txt" -c -t ,-U sa -P password’
xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出。由于xp_cmdshell 可以执行任何操作系统命令,所以一旦SQL Server管理员帐号(如sa)被攻破,那么攻击者就可以利用xp_cmdshell 在SQL Server中执行操作系统命令,如:创建系统管理员,也就意味着系统的最高权限已在别人的掌控之中。由于存在安全隐患,所以在SQL Server 2005中,xp_cmdshell 默认是关闭的。
两种方式启用xp_cmdshell
1、打开外围应用配置器->功能的外围应用配置器->实例名Database Enginexp_cmdshell->启用
2、sp_configure
-- 允许配置高级选项
EXEC sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO
-- 启用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO
--重新配置
RECONFIGURE
GO
--执行想要的xp_cmdshell语句
Exec xp_cmdshell 'query user'
--用完后,要记得将xp_cmdshell禁用(出于安全考虑)
-- 允许配置高级选项
EXEC sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO
-- 禁用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 0
GO
--重新配置
RECONFIGURE
GO
还好在网上搜到xp_cmdshell调用bcp实现,天真的就到数据库中实验,结果可想而知,xp_cmdshell操作的功能如此强大,没有理由随意开启它.
exec master..xp_cmdshell ’bcp "库名..表名" out "d:/tt.txt" -c -t ,-U sa -P password’
xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出。由于xp_cmdshell 可以执行任何操作系统命令,所以一旦SQL Server管理员帐号(如sa)被攻破,那么攻击者就可以利用xp_cmdshell 在SQL Server中执行操作系统命令,如:创建系统管理员,也就意味着系统的最高权限已在别人的掌控之中。由于存在安全隐患,所以在SQL Server 2005中,xp_cmdshell 默认是关闭的。
两种方式启用xp_cmdshell
1、打开外围应用配置器->功能的外围应用配置器->实例名Database Enginexp_cmdshell->启用
2、sp_configure
-- 允许配置高级选项
EXEC sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO
-- 启用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO
--重新配置
RECONFIGURE
GO
--执行想要的xp_cmdshell语句
Exec xp_cmdshell 'query user'
--用完后,要记得将xp_cmdshell禁用(出于安全考虑)
-- 允许配置高级选项
EXEC sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO
-- 禁用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 0
GO
--重新配置
RECONFIGURE
GO
相关文章推荐
- SQL SERVER 2005中使用sql语句对xml 文件和其数据的进行操作(很全面)
- SQL Server 中启用xp_cmdshell的sql语句
- MS-SQL使用xp_cmdshell命令导出数据到excel
- SQL Server 2005 导出包含(insert into)数据的SQL脚本 (使用存储过程)
- SQL Server 2005导出表中数据的SQL脚本形式(即INSERT语句)
- SQL Server 2005 导出包含(insert into)数据的SQL脚本 (使用存储过程)
- SQL Server 2005 导出包含(insert into)数据的SQL脚本 (使用存储过程)
- Sqlserver 2005 使用T-SQL语句 导出数据到文本文件 目前我自己总结的最全的
- SQL Server 2005 导出包含(insert into)数据的SQL脚本 (使用存储过程) 分类: 数据库
- SQL Server 2005 导出包含(insert into)数据的SQL脚本 (使用存储过程)
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- C#拼接SQL语句,SQL Server 2005+,多行多列大数据量情况下,使用ROW_NUMBER实现的高效分页排序
- SQLSERVER 2005中使用sql语句对xml文件和其数据的进行操作(很全面)
- SQL Server 2005导出表中数据的SQL脚本形式(即INSERT语句)
- 使用sql脚本把数据导出为.txt文件
- sql 2005如何使用被禁止的"xp_cmdshell"
- SQL server 数据库的表的创建与使用T-SQL语句操控数据表
- sql server 小技巧(7) 导出完整sql server 数据库成一个sql文件,包含表结构及数据
- 使用sql语句导入/导出 数据为Excel
- 用T-SQL语句实现SQL server与XLS,MDB等文件的数据交换