Skip to content

SQL Server 数据库分离与附加操作指南 ​

💡 背景说明

除了传统的 BAK 备份还原外,“分离/附加”也是 DBA 经常使用的手段。它直接操作物理数据库文件,适用于在同一台服务器上快速克隆测试库,或在停机状态下快速迁移数据文件。


1. 分离数据库 (Detach) ​

分离操作会将数据库从 SQL Server 实例中移除,但保留其 .mdf (数据) 和 .ldf (日志) 文件。

  1. 确定文件位置:右键点击数据库 -> 属性 -> 文件,记住“路径”和“文件名”。
  2. 执行分离:右键点击数据库 -> 任务 -> 分离。
  3. 🔴 安全提醒:在分离前,请确保没有活跃连接。建议勾选“更新统计信息”和“删除连接”。
  4. 获取物理文件:分离成功后,你可以在刚才记住的文件夹中找到对应的物理文件。

2. 克隆测试库 (复制文件) ​

如果你想通过物理文件创建一个新的测试副本:

  1. 复制文件:在资源管理器中,将分离出来的 .mdf 和 .ldf 文件复制并重命名(例如 MyDB_Test.mdf)。
  2. 注意权限:新复制的文件必须确保 SQL Server 服务账号拥有完全控制权限。

3. 附加数据库 (Attach) ​

将物理文件重新挂载到 SQL Server 实例中。

  1. 开始附加:右键点击“数据库” -> 选择 附加。
  2. 添加文件:点击“添加”按钮,浏览并选择刚才复制好的 .mdf 文件。
  3. 🟢 重命名测试库:在附加窗口的“附加数据库为”列中,输入新的数据库名称(如 MyDB_Test)。
  4. 校验日志文件:如果路径发生变化,确保下方“数据库详细信息”中的日志文件路径正确。

4. 分离/附加 vs 备份/还原 ​

特性分离/附加备份/还原
速度极快(仅物理挂载)较慢(涉及 IO 解压与重建)
停机要求必须停机/断开连接支持在线备份
文件完整性依赖物理文件完好备份文件可跨版本/设备传输
适用场景快速克隆测试库、移动文件位置灾难恢复、生产环境迁移

✅ 操作总结 分离与附加是搭建测试库最“暴力”且有效的方法,但请务必在操作前做好物理文件级的备份,防止操作失误导致数据丢失。

方舟 · Ark