可用如下方法生成一个可以一次导出一个数据库中所有表的数据的执行脚本。
编辑一个如下文本文件 文件名称例为 bcpscript:
use dbname 选中将要导出数据的数据库
go
select ’bcp dbname..’ + name + ’ out c:\temp\’ + name + ’ -Usa -P -Ssybcdsrv -c’ from sysobjects where type = ’U’ 在sysobjects系统表中type为U的表为用户表,系统表为S。
go
用如下格式执行:
isql –Usa –Ppassword –Sservername –i bcpscript –o bcpout.bat
i参数后为输入文件,o参数后文件为输入文件执行后得到的输出文件。
执行后可以得到一个后缀名为 BAT 的批处理文件(在unix下则生成一个shell文件并更改相应的执行权限),可直接执行。即在指定的目录下导出了相应的数据文件。一个表的数据为一个文件。如在UNIX下则可不用BAT后缀。
备份得到的数据文件如果需要重新往数据库中恢复,只需要将上面操作步骤中BCP命令中的out 参数换为in参数即可。
注意:在对正式数据做操作前最好先作一些测试。
另外,如果牵涉到使用bcp进行字符集的更改,可以采用 –J charset 参数进行







