【数据库】SQL Server 使用BCP工具导出数据

SQL Server导出文件的SQL语句与MySQL不同,下面介绍使用BCP工具进行SQL Server数据导出。

首先放上SQL语句:

Exec master..xp_cmdshell 
'bcp "SQL语句" Queryout 文件位置 -c -U "登录账户" -P "密码"'

参数介绍:

xp:表示本存储过程是扩展的存储过程,extend procedure

cmdshell:是command shell的意思,也就是直接敲命令执行

bcp:工具使用命令

Queryout:文件导出动作命令

-c:使用char类型做为存储类型,没有前缀且以 "t" 做为字段分割符,以 "n" 做为行分割符。

后续给出BCP工具详解及xp_cmdshell的链接。

假如运行上述语句报错如下:

SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。

需要对sp_configure文件进行修改,执行如下语句:

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;

然后再执行导出语句。

假如和我一样衰,还有下面这个报错:

SQLState = S000, NativeError = 0
Error = [Microsoft][SQL Native Client 10.0]无法打开 BCP 主数据文件

这时候首先确定路径没错,然后设置文件的权限,添加一个Everyone用户并赋予权限:

【数据库】SQL Server 使用BCP工具导出数据_第1张图片

至此,导出数据至文件成功。

BCP工具详解:https://blog.csdn.net/zhongguoren666/article/details/7069361

你可能感兴趣的:(数据库,问题解决,SQL,Server,数据导出)