附加数据库的目的是什么?

use*_*139 3 sql-server attach

我总是在 SQL Server 中看到这个称为附加数据库的选项。为什么有人要附加数据库?为什么不直接从.BAK文件中恢复数据库?我想我没有看到它的目的。

贴上它会有什么结果?它比恢复更快,但技术结果是什么?你还能修改数据库吗?添加数据吗?首选方法还是不推荐呢?

我已经看到 附加/分离与备份/恢复,但没有任何内容解释附加或分离的目的。它基本上甚至不涉及它。

Tom*_*m V 9

根据情况,附加/分离可能比备份/恢复更快。

分离是即时的,您可以立即开始复制文件,附加也几乎是即时的。备份需要一段时间,恢复也需要一段时间。

在我们进行备份压缩之前,这种技术要快得多,因为根据情况,需要复制的文件大小或多或少相同。

备份压缩对此有影响,因为备份现在比数据文件小得多。

这完全取决于您的 IO 速度以及副本的来源和目的地。

数学相当简单,如果进行备份、复制文件和恢复备份的时间比复制 mdf+ldf 文件的时间短,则备份/恢复更快,否则分离/附加更快。

分离/附加方法显然只有在您的数据库可以脱机时才有效。

如果您的 IO 子系统速度很快,并且您必须通过其传输数据库的网络链接速度很慢,则传输压缩备份可能会更快(如果您的版本/版本中可用)。如果您的 IO 子系统很慢,备份和恢复过程也很慢,但您可以快速复制文件,那么分离、复制相对较大的 .mdf 文件并重新附加可能是有意义的。

在我看来,在我们有可用的备份压缩之前,这对于大型数据库来说更像是一个问题。如果我没记错的话,在我们进行压缩之前,这可能是 Microsoft 认证考试中的一个问题,但我还没有在更新版本的材料中看到它。

最终结果基本相同,数据库的精确副本。


Ram*_*chi 5

Detach-Attach 可用于多种用途:

  1. 将数据/日志文件移动到具有更多空间的其他磁盘或根据需要。
  2. 分离后,数据/日志文件可以复制并移动到另一个服务器/实例,用于在另一个实例中快速复制数据库。
  3. 有时在停机时间非常有限的数据库迁移中,您可以继续使用此技术,因为它可以节省时间。


小智 5

社区 Wiki答案基于对问题的评论:

我使用分离/附加将数据/日志文件移动到不同的存储设备或不同的 LUN(出于多种原因)。请参阅 Stack Overflow Q & A SQL Server 备份/恢复与分离/附加,其中对两种方法进行了比较和对比。

附加数据库后,它就像任何其他在线多用户数据库一样。这不是偏好问题,而是您需要什么。阅读我上面提到的答案。一个常见的例子,如果我需要将文件移动到更大的驱动器。- SqlWorldWide

相关问答:

  1. 如何在 SQL Server 中附加数据库?
  2. 附加/分离与备份/恢复
  3. 我应该使用分离/复制/附加还是通过备份-恢复-重放来迁移数据?

社区 wiki 帖子已捐赠给社区,希望其他人能够对其进行编辑以使其保持最新状态、添加有用信息并总体上提高其质量。