在SQL Server Express中复制数据库?

Jen*_*enn 49 sql-server sql-server-express

我想制作一个我拥有的数据库的副本,但是将它与测试数据库保存在同一台服务器上.但是,我发现的一切都是使用复制数据库向导(我正在使用MS SQL Server Express).

说明始终说:在SQL Server Management Studio的"对象资源管理器"中,展开"数据库",右键单击数据库,指向"任务",然后单击"复制数据库".

我没有"复制数据库"选项.我作为管理员运行,所以不知道为什么它不适合我 - 这是我必须单独安装的东西吗?我无法执行Detach/Attach,因为它正在复制到同一台服务器.我尝试分离,复制MDF/LDF,重命名,附加但是你可以想象这已经搞砸了:)我不太喜欢用SQL来编写所有这些.我有可以使用的工具吗?

Ste*_*kes 77

在SSMS 2008中,您可以这样做:

  1. 创建要复制的数据库的备份

  2. 在SSMS中,右键单击"数据库"并选择"还原数据库"

  3. 从"要恢复的源"部分的"从数据库"下拉列表中选择要复制的数据库

  4. 在"还原目标"部分的"到数据库"字段中输入新数据库的名称 - 这不能是现有数据库的名称.

  5. 单击确定

你完成了!:)

  • 对我来说,它会导致很多问题,因为它仍然尝试使用与复制的数据库相同的MDF和LDF文件.您可以更改要使用的MDF和LDF文件,但仍然会以某种方式尝试使用原始数据库中的文件. (7认同)
  • 我做了 - 经过几次尝试,在恢复数据库工作的同时改变了MDF和LDF路径.不知何故.我不记得我是否做了一些特别的工作来使它工作. (2认同)

rek*_*nyz 48

在SQL Server Express 2012中,您可以执行以下步骤:

  1. 创建要复制的数据库的备份
  2. 右键单击"数据库",然后选择"还原文件和文件组"
  3. 在"To database"字段中输入新数据库的名称.
  4. 选择"从设备",然后选择您在第一步中备份的文件
  5. 点击"确定"

这将使用正确的表设置"克隆"数据库,例如"默认值"和"自动增加"等.

  • 这对SQL Server Express 2008 R2也很有用.谢谢! (2认同)

Dmi*_*kin 8

SQL Express数据库有一个导出按钮,我只是将数据库导出到同一服务器上的新数据库,它正在复制数据库.只需右键单击数据库名称即可.


RC_*_*and 5

执行以下步骤在 SQL Express 中制作数据库的副本

  1. 停止SQL
  2. 将数据库的 mdf、ldf 和任何其他文件复制到新位置(确保您获取日志文件)
  3. 更改每个复制文件的名称
  4. 启动SQL
  5. 右键单击 SSMQ 中的数据库并选择附加
  6. 确保更改“附加为”列中的名称
  7. 将“数据库详细信息”下部窗格中的文件位置更新为复制文件的位置(尤其是日志文件)

我能够使用此方法在 SQL Express 系统上复制数据库

替代文本


Kir*_*rev 5

我在使用 SQL Express 2012 创建数据库副本时遇到问题。我已经通过备份和恢复方法解决了这个问题。进行备份后,我使用:恢复 - >文件和文件组 选择恢复选项

下一步是为新数据库编写新名称并设置源:

设置源并命名新数据库

指向源文件

选择备份文件

最后,必须选择使用替换覆盖现有数据库,并为扩展名为 mdf 和 ldf 的新文件设置与现有数据库不同的名称,其中: 恢复为

为 mdf 和 ldf 文件设置新名称

这个方法对我有用


p.c*_*ell -1

尝试备份数据库,然后将其恢复到全新的数据库中。

  • 创建新数据库。
  • 对原始文件进行完整备份。
  • 右键单击您的新数据库,然后单击“恢复”。
  • 导航到您的 .BAK,并确保 .mdf 和 .ldf 与新的匹配。