跳到主要内容
系统常识 SQL Server分离附加

分离附加数据库怎么操作

SQL Server 分离(detach)与附加(attach)数据库的完整操作:SSMS 向导与 T-SQL 两条路,各自适用场景与文件校验要点。

发布于 2026/11/11 所属频道 SQL Server

结论先行

分离 = 把数据库从引擎注销但文件留在原地;附加 = 引擎读这些文件重建库定义。两者搭配是「物理搬文件、跨机迁移小库」的标准手法。SSMS(SSMS 管理工具条目)里有图形向导,T-SQL 里对应 sp_detach_db 与 CREATE DATABASE ... FOR ATTACH 两条命令。

分离:两条路

方式 命令/路径 特点
SSMS 向导 右键数据库 → 分离 → 勾选「保留文件」等选项 能勾选删除/保留、自动检查依赖
T-SQL EXEC sp_detach_db N'库名'; 一行命令,无交互选项

分离前数据库必须无活动连接;生产库先 SET SINGLE_USER,否则分离会因连接占用失败。

附加:两条路

-- T-SQL 附加(文件数与实际文件必须一一对应)
CREATE DATABASE Sales ON
  (FILENAME = N'D:\data\Sales.mdf')
LOG ON (FILENAME = N'E:\log\Sales_log.ldf');

SSMS 路径:数据库节点 → 右键 → 附加 → 添加文件逐个勾选(.mdf 必须勾,.ndf 勾上,日志可让引擎自动新建)。

什么场景该用分离附加

  • 跨机器迁移开发库:停服务 → 拷走文件 → 新机器附加。
  • 临时排查:把库从一台机器分离到另一台做诊断。
  • 不适合:生产核心库(窗口期 = 库离线;且跨大版本引擎附加会受兼容级别限制)。

生产搬迁请优先用备份/还原,保留分离附加给轻量场景。

常见翻车点

  1. 分离时忘了勾「保留文件」,文件被删——先备份!
  2. 附加时少传一个 .ndf 文件:报文件缺失,补齐再试。
  3. 文件拷到网络慢路径后直接附加:引擎会长时间校验文件,耐心等。
  4. 跨机器附加后登录、作业、计划任务没跟过来(那些存于 master,不在用户库里)。

SQL Server 2022 Developer 与 SQL Server 2019 Developer 条目环境下操作一致;文件物理路径的确认另见「数据库文件位置怎么迁移」相关条目,SQL Server 产品族条目 中各版本行为通用。

相关链接

本文内容基于公开资料整理,仅供参考;涉及授权与合规的操作请以厂商官方文档为准。

相关推荐下载

按本文主题匹配的官方原版镜像条目

配套 PE 工具

制作启动盘、备份数据、修复引导

其他常识文章

同一集合内的相近主题,按标签与关键词匹配