我总是在 SQL Server 中看到这个称为附加数据库的选项。为什么有人要附加数据库?为什么不直接从.BAK文件中恢复数据库?我想我没有看到它的目的。
贴上它会有什么结果?它比恢复更快,但技术结果是什么?你还能修改数据库吗?添加数据吗?首选方法还是不推荐呢?
我已经看到 附加/分离与备份/恢复,但没有任何内容解释附加或分离的目的。它基本上甚至不涉及它。
根据情况,附加/分离可能比备份/恢复更快。
分离是即时的,您可以立即开始复制文件,附加也几乎是即时的。备份需要一段时间,恢复也需要一段时间。
在我们进行备份压缩之前,这种技术要快得多,因为根据情况,需要复制的文件大小或多或少相同。
备份压缩对此有影响,因为备份现在比数据文件小得多。
这完全取决于您的 IO 速度以及副本的来源和目的地。
数学相当简单,如果进行备份、复制文件和恢复备份的时间比复制 mdf+ldf 文件的时间短,则备份/恢复更快,否则分离/附加更快。
分离/附加方法显然只有在您的数据库可以脱机时才有效。
如果您的 IO 子系统速度很快,并且您必须通过其传输数据库的网络链接速度很慢,则传输压缩备份可能会更快(如果您的版本/版本中可用)。如果您的 IO 子系统很慢,备份和恢复过程也很慢,但您可以快速复制文件,那么分离、复制相对较大的 .mdf 文件并重新附加可能是有意义的。
在我看来,在我们有可用的备份压缩之前,这对于大型数据库来说更像是一个问题。如果我没记错的话,在我们进行压缩之前,这可能是 Microsoft 认证考试中的一个问题,但我还没有在更新版本的材料中看到它。
最终结果基本相同,数据库的精确副本。
Detach-Attach 可用于多种用途:
小智 5
社区 Wiki答案基于对问题的评论:
我使用分离/附加将数据/日志文件移动到不同的存储设备或不同的 LUN(出于多种原因)。请参阅 Stack Overflow Q & A SQL Server 备份/恢复与分离/附加,其中对两种方法进行了比较和对比。
附加数据库后,它就像任何其他在线多用户数据库一样。这不是偏好问题,而是您需要什么。阅读我上面提到的答案。一个常见的例子,如果我需要将文件移动到更大的驱动器。- SqlWorldWide
相关问答:
社区 wiki 帖子已捐赠给社区,希望其他人能够对其进行编辑以使其保持最新状态、添加有用信息并总体上提高其质量。