none
非常紧急,求助各位大侠。。有关数据库导出恢复 RRS feed

  • 问题

  • 现状:有5个地方,它们的服务器中的数据库是一样的(表,字段都一样的,就是其中的数据不一样)
    目的:需要在第6个地方另建一数据库把这5个地方的数据库中的所有数据全部都存起来

    请问如何操作???
    万分感激
    PS:目前我是把所有的数据库都备份然后恢复,但是只能恢复一个,我再恢复另外一个的时候就被覆盖掉了


    2009年10月5日 7:30

答案

  • LZ大兄,有很多方法的。
    如果是一次性的,建议您使用比较常用的方法:SQL Server的Import/Export工具。(一个数据库上右键,Tasks下的Import Data或者Export Data)
    步骤:
    1. 先将第一个DB恢复到第六个服务器
    2. 依次将第二到第五个DB通过Export Data导入到第六个服务器的对应Table。

    当然,还有其他办法,如Mirror或者复制等方法来解决这个问题。但它们相对复杂,不建议您没有试验的情况下直接使用。
    2009年10月5日 10:06
  • You should use different database name if want to copy all 5 databases to server 6, or take look at merge replication.
    2009年10月5日 12:17
  • LZ大兄,不好意思,回复晚了。您有那5个DB的备份文件的吧
    1. 分别恢复成同一个服务器上的A1,A2,A3,A4,A5五个数据库
    2. 将A1,A2,A3,A4依次导入到A5
    3. A5中的数据就是5个DB的总数据咯

    如果还有问题,请再贴出来。
    2009年10月5日 12:31
  • 不用建立5个空的DB的,可以直接Restore即可。
    您的错误提示是因为您建立了那几个空DB后,产生了数据库文件,在恢复的时候,您需要选择选项标签中的Overwrite the existing database复选框。

    2009年10月6日 5:49

全部回复

  • PS:这5个地方的服务器都不能互相通信。因为分布在不同的地方,没有网线能连接到
    2009年10月5日 7:58
  • 希望大家指点一下小的。。O(∩_∩)O谢谢哦

    在线等
    2009年10月5日 8:44
  • LZ大兄,有很多方法的。
    如果是一次性的,建议您使用比较常用的方法:SQL Server的Import/Export工具。(一个数据库上右键,Tasks下的Import Data或者Export Data)
    步骤:
    1. 先将第一个DB恢复到第六个服务器
    2. 依次将第二到第五个DB通过Export Data导入到第六个服务器的对应Table。

    当然,还有其他办法,如Mirror或者复制等方法来解决这个问题。但它们相对复杂,不建议您没有试验的情况下直接使用。
    2009年10月5日 10:06
  • 首先谢谢回复

    但是这个方法我试过了,通过Import Data的话必须是能和其他几个地方的数据库能相互通信才行的吧。。否则这个不成功啊


    不清楚楼上的大哥具体是如何操作的。。麻烦些一下步骤啊
    O(∩_∩)O~

    不是我偷懒哦
    我确实试过了的

    2009年10月5日 11:34
  • You should use different database name if want to copy all 5 databases to server 6, or take look at merge replication.
    2009年10月5日 12:17
  • LZ大兄,不好意思,回复晚了。您有那5个DB的备份文件的吧
    1. 分别恢复成同一个服务器上的A1,A2,A3,A4,A5五个数据库
    2. 将A1,A2,A3,A4依次导入到A5
    3. A5中的数据就是5个DB的总数据咯

    如果还有问题,请再贴出来。
    2009年10月5日 12:31
  • 谢谢各位的回复

    我有5个DB的.BAK备份文件
    5个DB因为是一样的,所以刚备份的文件名是一样的,假如说是A

    然后现在我把它们的名字分别A,B,C,D,E

    在新的数据库中我同样建立了A,B,C,D,E这5个数据库(右键,点击新建,然后输入数据库名假如是输入A,然后确定。且内容是空的)
    然后我分别对他们进行恢复,恢复第一个是肯定没有问题的
    当恢复到第二个的时候提示:
    System.Data.SqlClient.SqlError: The file 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\uep_data.dbf' cannot be overwritten.  It is being used by database 'A'. (Microsoft.SqlServer.Smo)、


    另外我疑问的是是不是因为我手工创建数据库有问题

    恢复的时候:我是直接右键,点击恢复按钮

     

     

    2009年10月6日 5:06
  • 不用建立5个空的DB的,可以直接Restore即可。
    您的错误提示是因为您建立了那几个空DB后,产生了数据库文件,在恢复的时候,您需要选择选项标签中的Overwrite the existing database复选框。

    2009年10月6日 5:49
  • 已经解决。。谢谢各位啊

    就用楼上大哥的方法。呵呵

    2009年10月6日 6:57
  • 还想问个问题
    因为这些数据库中的有些表的有些数据是一样的(必须存在,而且是关键字值)

    若有完全都拷贝的话,关键值就会有冲突。怎么能只插入表中不一样的数据呢??
    这个比较难办

    我现在用的是IMPORT 完全copy


    再次感谢
    呵呵

    2009年10月6日 8:08
  • LZ大兄,导入的时候有个步骤是可以选择用SQL导入的,你可以将那几个表的数据通过SQL单独导入,SQL里过滤掉重复数据即可。
    或者是直接在查询分析器下SQL把A,B,C,D不重复的数据Instert到E。

    2009年10月6日 8:47
  • 我知道有这个SQL导入的,但是没用过,不知道具体怎么用。。
    不知道具体怎么过滤重复数据
    呵呵

    没做好这方面的功课。。
    想到这边求现成的
    因为着急。。


    我继续研究。呵呵

    2009年10月6日 9:05
  • 已经解决 THANKS
    2009年10月6日 10:27
  • :)
    You are welcome~
    2009年10月6日 12:33