如何将SQL Server 2008 R2数据库从一台计算机复制到另一台计算机

时间:2013-09-18 07:34:18

标签: sql sql-server-2008-r2

我在SQL Server 2008 R2中有一个数据库,我想将这个数据库复制到另一台机器上。

如何制作副本?

我该如何恢复?

谢谢

6 个答案:

答案 0 :(得分:23)

您无法将数据库复制到另一台计算机。 是的,您可以收回同一台计算机并将其复制到另一台计算机并进行恢复。

采取备份遵循程序:

  1. 右键单击要备份的数据库。
  2. 选择任务 - >备份。
  3. 在目的地中,选择添加。
  4. 在文件名中,单击...按钮,然后选择要使用backupname.bak备份的目标文件夹。单击确定,确定和确定。等到备份过程完成。单击“确定”。
  5. 现在将该备份文件复制到pendrive或任何媒体中并将其粘贴到另一台计算机并打开SQL Server 2008 R2

    要恢复备份,请按照以下步骤操作:

    1. 右键单击数据库。
    2. 选择还原数据库。
    3. 在“到数据库”字段中写入要还原的数据库名称
    4. 从源中选择来自设备单选按钮以进行还原。点击...
    5. 单击“添加”按钮,选择已粘贴的数据库备份文件。单击Ok,Ok。
    6. 选中“恢复”中的复选框选择要恢复的beckup集。
    7. 继续选项检查覆盖现有数据库&保留复制设置(仅当您尝试还原已驻留在另一台设备上的数据库时才需要检查此字段)
    8. 单击“确定”。等到恢复完成并单击“确定”。
    9. 告诉我你是否遇到任何问题。


      按代码

      备份:

      USE DATABASE_NAME;
      GO
      BACKUP DATABASE DATABASE_NAME
      TO DISK = 'D:\DATABASE_NAME.Bak'
         WITH FORMAT, MEDIANAME = 'D_SQLServerBackups',
         NAME = 'Full Backup of DATABASE_NAME';
      GO
      

      (如果要将备份放在任何文件夹中,则在进行备份之前该文件夹必须存在。)

      要恢复:

      步骤1:从备份中恢复数据库的逻辑文件名。

      RESTORE FILELISTONLY
      FROM DISK = 'D:BackUpYourBaackUpFile.bak'
      GO
      

      步骤2:使用以下步骤中LogicalName列中的值。 ----将数据库设置为单用户模式

      ALTER DATABASE YourDB
      SET SINGLE_USER WITH
      ROLLBACK IMMEDIATE
      

      ----恢复数据库

      RESTORE DATABASE YourDB
      FROM DISK = 'D:BackUpYourBaackUpFile.bak'
      WITH MOVE 'YourMDFLogicalName' TO 'D:DataYourMDFFile.mdf',
      MOVE 'YourLDFLogicalName' TO 'D:DataYourLDFFile.ldf'
      

      / 如果数据库在多用户中之前语句中没有错误 模式。 如果发生错误,请执行以下命令进行转换 多用户数据库。 /

      ALTER DATABASE YourDB SET MULTI_USER
      GO
      

答案 1 :(得分:19)

可能有更多方法可以做到这一点,但我通常右键单击数据库并选择“任务→备份...”,备份类型为“完整”。之后,您可以将创建的文件复制到目标计算机,在SQL Server Management Studio中连接到其SQL Server,右键单击“数据库”文件夹并选择“还原数据库”。选择“设备”并选择文件,然后恢复 另一种方法是在SQL Server Management Studio中编写数据库脚本(右键单击数据库,然后“任务→生成脚本...”)。在此过程中,将有一个名为“设置脚本选项”的步骤,您必须单击“高级”按钮并仔细查看选项。您肯定希望为“脚本数据类型”选项选择“数据和架构”。如果我真的只想传输数据结构和数据本身,我有时更喜欢这种方法。

更新:抱歉,我忘了提及如何为脚本选项恢复数据库。我总是通过在“设置脚本选项”步骤中选择“保存到新查询窗口”来生成脚本。生成脚本后,只需将其留在那里一会儿 在目标服务器上,创建一个与您为其生成脚本的名称相同的新数据库。或者您也可以在源服务器上为其创建脚本(右键单击数据库,选择“脚本数据库为→创建到...→剪贴板”)并通过右键单击SSMS中的服务器节点来执行此脚本对象资源管理器,选择“新查询”,将脚本粘贴到查询窗口并执行它。如果您确实需要数据库的完整副本而不仅仅是数据本身,那么第二个选项是更好的选择 一旦你走下这两条道路中的一条,就应该创建一个新的数据库。在对象资源管理器中右键单击此数据库并选择“新建查询”,然后将包含数据库结构和数据的脚本复制并粘贴到新查询窗口中并执行查询。这应该可以解决问题。

答案 2 :(得分:10)

使用完整数据库备份复制数据库不会复制联机事务日志中的事务。

如果这很重要,请使用以下步骤使数据库脱机,复制MDF和LDF文件并附加它们:

  1. 在SQL Server Management Studio中选择数据库,右键单击数据库并选择“属性”。复制MDF和LDF文件的位置
  2. enter image description here

    2.点击确定

    3.再次右键单击数据库,选择任务离线

    enter image description here

    4.在Windows资源管理器中,使用步骤#1中找到的位置复制MDF和LDF文件

    5.将它们贴到另一个地方 6.在SQL Server Management Studio中,右键单击SQL Server实例,然后选择附加

    enter image description here

    7.在下一个对话框中,单击添加,找到复制的文件,选择它们并单击确定 8.更改附加AS 字段中提供的默认名称。在此处指定数据库所需的新名称。

    enter image description here

    9.点击确定

    要恢复原始数据库的在线状态,请右键单击该数据库,然后选择任务联机

答案 3 :(得分:2)

如果要将其复制到SQL 2008 R2,那么您只需要做的就是

  1. 打开SQL server management studio
  2. 选择您的数据库
  3. 右键单击,转到任务 - >备份
  4. 在数据库备份窗口中,单击“添加”,然后提供备份路径和文件名   点击确定
  5. 将备份文件复制到您要还原到的计算机中的任何驱动器,

    1. 打开SQL server management studio
    2. 创建新数据库
    3. 右键单击新创建的数据库,转到任务 - >恢复 - >数据库
    4. 还原窗口中的
    5. 从设备选项
    6. 中选择
    7. 添加备份文件路径
    8. 点击确定

答案 4 :(得分:2)

贾斯汀上面的回答几乎是正确的,只需右键点击SSMS中的数据库并选择“任务”> “出口数据”。该向导允许您将整个数据库复制到另一个位置。

答案 5 :(得分:2)

除了将数据库复制或移动到同一网络级别的另一台服务器之外,您还可以使用 SQL Server复制数据库向导

要使用此方法,您应该

  1. 右键单击数据库
  2. 选择任务并
  3. 选择副本数据库
  4. 填写源数据库服务器登录数据
  5. 填写目标数据库服务器登录数据
  6. 选择转移方式

Copy Database Wizard

  1. 选择要传输的数据库(系统数据库除外)

select databases

Extra description about this method