您好,欢迎来到Unity之家!   unity.jb51.net 
  • 首 页
  • 你问我答
  • 当前位置:首页 > 程序开发 > 数据库编程 >
    SQL Server 数据库所有表导出导入BCP语句
    时间:2015-01-29 10:27 来源:互联网 作者:脚印 浏览:收藏 挑错 推荐 打印



    从数据库中各表导出所有表的数据


    Use  %1

    Select 'BCP  %1..' + name + ' out  d:\recovery\bcp\' +name + '.txt -c -S%2  -U%3 -P%4 >D:\recovery\bcp\error\out_'+name+'.txt' 

    from sysobjects where type = 'U' order by name


    从数据文件导回到数据库中的各表


    Use  %1

    Select 'BCP  %1..' + name + ' in  d:\recovery\bcp\' +name + '.txt -c -S%2  -U%3 -P%4 >D:\recovery\bcp\error\in_'+name+'.txt' 

    from sysobjects where type = 'U' order by name


    注:type = "U",U必须大写,表用户自定义表。-S服务器,-P密码,%1为数据库,%2为本机SQL Server实例名,

    一般就是计算机名,%3为登录帐户,一般为sa,%4为登录密码。



    执行之前要确认以上所指目录是否存在.


    ---------------------------- 1 out script----------------------------------


    Select 'BCP  ZYTK..' + name +

    ' out  d:\recovery\BCP\' +name + '.txt -c -SmyComputer  -Usa -P123456 >d:\recovery\BCP\error\out_'+name+'.txt' from sysobjects where type = 'U' order by name

    --将上述SQL脚本的查询结果全选后另存为批处理文件zytk.bat。

    --从数据库ZYTK中各表导出以表名命名的txt文件,并有对应的导出错误文件

    eg.

    BCP  ZYTK..ac_AccConstrain out  d:\recovery\BCP\ac_AccConstrain.txt -c -Stech  -Usa -P123456 >d:\recovery\BCP\error\out_ac_AccConstrain.txt

    BCP  ZYTK..ac_AccountsReport out  d:\recovery\BCP\ac_AccountsReport.txt -c -Stech  -Usa -P123456 >d:\recovery\BCP\error\out_ac_AccountsReport.txt

    BCP  ZYTK..ac_AccWasteBook out  d:\recovery\BCP\ac_AccWasteBook.txt -c -Stech  -Usa -P123456 >d:\recovery\BCP\error\out_ac_AccWasteBook.txt


    ---------------------------- 2 in script------------------------------------


    Select 'BCP  ZYTK015..' + name +

    ' in  d:\recovery\BCP\' +name + '.txt -c -SmyComputer  -Usa -P123456 >d:\recovery\BCP\error\in_'+name+'.txt' from sysobjects where type = 'U' order by name

    --将上述SQL脚本的查询结果全选后另存为批处理文件zytk015.bat。

    --将从zykt数据库各表导出的数据重新导入到数据库zytk015中,并有对应的导入错误文件

    eg.

    BCP  ZYTK015..ac_AccConstrain in  d:\recovery\BCP\ac_AccConstrain.txt -c -Stech  -Usa -P123456 >d:\recovery\BCP\error\in_ac_AccConstrain.txt

    BCP  ZYTK015..ac_AccountsReport in  d:\recovery\BCP\ac_AccountsReport.txt -c -Stech  -Usa -P123456 >d:\recovery\BCP\error\in_ac_AccountsReport.txt

    BCP  ZYTK015..ac_AccWasteBook in  d:\recovery\BCP\ac_AccWasteBook.txt -c -Stech  -Usa -P123456 >d:\recovery\BCP\error\in_ac_AccWasteBook.txt


    --还有一点要说明的是如果您的计算机上有多个SQLServer的实例,那myComputer应该修改为myComputer\您的实例名。如果您的计算机只有一个SQLServer的实例,那么将myComputer修改为您的计算机名就可以了(默认的实例)。







    (责任编辑:脚印)
    免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。