
select 'bcp database..' + name + ' out ' +
'/data/' + name + '.out' +
' -n -Sservername -Usa -Pxxx'
from database..sysobjects
where type = 'U'
将上面database换成自己需要备份的数据库名称, -Sservername
改为毕弊对应SQL Server名称 -Pxxx 将xxx换成实际sa密码,上面语
法是用来备份数据,将第一行中的out改为in即可生成恢复数据
的批处理
以上可以在Sybase或MS SQL Server的ISQL中执行(MS SQL
Server 7.0中ISQL已变为Query Analyzer),然后将执薯晌行结果通
过剪贴板Copy到记事本(注意不要Copy结果集的标题),保存为
Bat文件。在执行最后的Bat文件时,需要在Bat所在目录建立
Data子目录,备份的*.out文件将存放在此子目手手族录下。
http://202.43.217.123/search/cache.html?ei=UTF-8&icp=1&u=www.moon-soft.com/doc/15499.htm&w=bcp+%E7%9A%84+%E4%BD%9C%E7%94%A8&d=BtsfpvmdOrkG&s=
大概知道怎样实现,难在不知道用什么命令或者SQL语句把表导出来这个批处理是能过凳闷OSQL 或枣洞弯者SQLCMD 查询SQLVER 2005 数颤慧据库 全自动添加后台.bat http://www.cn-dos.net/forum/viewthread.php?tid=45836&fpage=1
从数据库中把所有表数据导派碰出:1.编辑一个文件selectout.sql:
set nocount on
use databasename
go
select 'bcp databasename..' + name + ' out d:\temp\' + name + '.txt -Uusername -Ppassword -Sservername -c ' from sysobjects where type='U'
go
2.在cmd中执行:
isql -Uusername -Ppassword -Sservername -i d:\selectout.sql -o d:\bcpout.bat
3.执行d:\bcpout.bat文件, 可以中知把数据导出到d:\temp\目录。
把所有表数据导入到数据库时,尘培谈将上面的out改为in
4.bcp导入导出:
导出数据:
bcp DatabaseName.dbo.tableName out D:\tableName.txt -SServerName -Usa -P -c -b 10000
导入数据:
bcp DatabaseName.dbo.tableName in D:\tableName.txt -SServerName -Usa -P -c -b 10000
在导入大量数据时加上-b参数,分批提交不以致于数据库日志被塞满。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)