SQL Server 如何实现大批量数据的自动导入和导出
通常情况下,SQL Server 需要导入或导出大批量数据时,我们会借助相关工具,但此类工具普遍存在速度慢、容易中断、报错或中途退出等情况。此处介绍一个快速、实用的命令 BCP。
BCP 命令可以直接在 DOS 提示符下运行,也可以写在批处理文件中。将 BCP 命令写入 Bat 脚本文件中,然后将该文件放入计划任务中,定时执行,从而实现自动导入与导出大批量数据的要求。
此处列举了 BCP 命令的导出与导入的例子:
导出
C:\>bcp "select lc1,lc2,lc3 from t1" queryout f:\databasebackup\abc5.txt -SCIE-08\CIESQL -Usa –P[password] –d[database name] -w
Starting copy...
2 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total : 1 Average : (2000.00 rows per sec.)
该命令将数据导出并转换为 Unicode.
导入
C:\>bcp t1 in f:\databasebackup\abc5.txt -S[servername].database.chinacloudapi.cn -d[database name] –U[user name]@[server name] –P[password] -w
Starting copy...
2 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total : 31 Average : (64.52 rows per sec.)
[AZURE.NOTE] -w 选择项目是必须要加的,它支持汉字导入和导出。
需要注意,BCP 命令是添加数据操作,不能进行数据的更新。