还原SQL Server中的关键数据库数据库的最佳方式

问题描述 投票:2回答:2

我试图从生产环境中的数据库移动到一个新的生产环境。

未来的环境有一个旧版本的当前督促环境,我现在迁移旧的。

岂不是更好,更可靠,如果:

  • 我删除数据库,然后还原
  • 或者我应该只是在上面恢复?

我知道都是选项,但我需要知道哪一个提供了最好的结果是:由于没有留下给出的,这是一个关键的数据库闪失,和关键任务系统的最佳定义。

我不感兴趣的差异数据库,我只想当前数据库中的全部移动 - 干净和轻松。

更多信息:

  • 这是一个25GB数据库
  • 我有一个2小时的窗口,在这里我可以把当前系统的备份,并把它未来的系统上。
  • 同时确保数据的损坏/丢失量最少最简单/最简单的方法:我已经定义了“最好”的上方。
  • 我不需要历史/日志中的新位置,那就是:我并不需要能够去到一个较旧的时间。
sql sql-server sql-server-2008-r2
2个回答
0
投票

最近,我问过类似的问题。我不同意对方的回答:分离和挂接数据库是不是一个好主意。首先,你必须把它脱机 - 第二,你需要为其他职位指出,停止服务。备份和恢复是最安全的方法。

选择使用sp_detach_db分离数据库,然后使用CREATE DATABASE将其固定... FOR ATTACH;或分离和附加使用GUI将实际分离从源服务器上的数据库。

很多事情可以去错在这里,这就是为什么我们喜欢的备份和恢复。备份过程是在线和自源数据库从未在第一时间做出未提供,你不危险的错误,数据损坏,或任何其他的东西,可能发生的情况下摧毁任何东西。

看看这个question,让你你需要的一切。

在SQL Server中的备份/恢复过程很简单和容易。如果你有一个现有的数据库,选择恢复,它将取代它。如果它不存在,它会添加。


1
投票

我建议去sp_detachdb - 复制 - sp_attachdb路线。

注意:

该** @ keepfulltextindexfile **参数将在SQL Server的未来版本中删除。

而这个过程是不兼容天青。

你写了:

我有一个2小时的窗口

因此,这将是更好的,而不是sp_detachdb只是停止SQLServer的服务 - 拷贝数据库文件的新服务器上,并使用比sp_attach_db / CREATE DATABASE .. FOR ATTACH

阅读微软的文档关于这一主题 - Move a Database Using Detach and Attach (Transact-SQL)

© www.soinside.com 2019 - 2024. All rights reserved.