通过备份还原克隆SQL数据库:“正在恢复…”需要花费时间

我需要另一个名字的数据库的确切副本。 我select通过备份 – 恢复克隆SQL数据库,使用SQLpipe理Studio 2008.首先,恢复数据库; 我收到一个错误。

SqlError: The backup set holds a backup of a database other than the existing 'Pro_SSRS' database. (Microsoft.SqlServer.Smo) 

然后,我发现我不得不select“覆盖现有的数据库”选项在各个网站看到,例如: http : //www.nikhedonia.com/notebook/entry/solving-the-sql-server-restoring-数据库错误/

现在在我的数据库名称旁边,我看到“(恢复…)”,已经有半个小时了。 我什至不能查看数据库的属性,大多数选项说“不可用”。

有人可以解释吗? 或者这是正常的?(数据库是20MB ..)提前致谢!

你想要做的是删除所有这些,并按照下列步骤操作:

  1. 创build数据库的完整备份,确保检查“备份后validation”以确保BAK正常。 将其命名为ORIGINAL.BAK。 记住它的位置。 (你也可以使用“T-SQL”)

    BACKUP DATABASE'YourDBName'TO DISK ='C:\ ORIGINAL.BAK'; //或类似的

  2. 现在返回到Management Studio,右键单击数据库,然后单击“还原数据库…”

  3. 在出现的对话框中,还原目标:到数据库:MyNewDatabase

  4. 还原源中 ,select“从设备”,然后单击[…]button。

  5. 一个新的popup窗口(什么是popup式Microsoft?),将备份媒体保留为“文件”,但单击添加button,find您的ORIGINAL.BAK。 如果您使用Management Studio进行备份,则可能会位于同一位置。 select它并单击确定。 然后再次确定。

  6. 现在返回到第一个还原屏幕,点击checkbox(还原),在checkbox中select“select要还原的备份集”(您应该在那里列出您的数据库)。 不要单击确定!

  7. 现在在这个popup窗口的左边,有一个列表框,表示:select一个页面。 和两个“页面”:一般和选项。 点击选项

  8. 单击覆盖现有数据库。

  9. 在“还原数据库文件为”,请确保.mdf和.ldf不与其他人冲突。 如果你愿意,你可以改变它的位置。

  10. 点击确定。 你的数据库20MB应该在不到10秒内恢复。

如果这不起作用呢?

在极less数情况下,您可能会遇到问题。 这通常不是一个好的迹象,你应该运行一个DBCC CHECKDB(阅读帮助文件了解更多信息),以确保你的主数据库正常。

您也可以尝试直接“附加”数据库:

  1. 暂停SQL Server(确保没有人使用数据库,如果需要,不需要但是…)
  2. 右键单击数据库(在pipe理STudio中),然后select附加,然后添加。
  3. find要复制的数据库的.MDF,点击确定,然后在“数据库详细信息”(在添加button下面),检查并更改当前文件path和/或重命名.MDF和.LDF(它可以“与其他数据库相同)。
  4. 点击OK。

注意 :如果这不起作用,您可能需要首先删除原始数据库。 做4个步骤,然后重新命名数据库。 然后继续重新访问原始数据库。

希望这可以帮助。

您的问题是,您需要为所有数据文件指定一个新的文件位置时,使用新的数据库名称进行还原。 如果你在T-SQL中这样做,它被称为WITH MOVE。 没有任何意义,您可以使用不同的名称将数据库恢复到同一位置。 您需要为这些文件指定一个新的位置/名称。

看来你的数据库可能已经崩溃了一半的恢复。 看看活动监视器,看看是否有任何RESTORES发生(或sysprocesses)可能没有。 如果是这种情况,那么你应该能够删除(DROP)数据库并重新启动。

另一个select是你可以快照数据库。 这将是即时的,但仅提供数据库的静态只读副本(通常用于报告)。

只适用于企业版本。

http://msdn.microsoft.com/en-us/library/ms175158.aspx