SQL Server 附加与分离数据库:数据文件与实例连接的完整指南
在深入探讨SQL Server数据库创建之后,我们继续解析两个至关重要的管理操作:附加数据库与分离数据库。它们是实现数据库文件在不同SQL Server实例间迁移、备份恢复及离线维护的核心技术。本文将详细阐述其概念、应用场景与操作步骤,并重点讲解如何安全高效地附加数据库。
附加与分离数据库:核心概念解析
首先明确基本原理。SQL Server的所有数据最终都物理存储在数据文件(.mdf)和日志文件(.ldf)中。附加数据库,正是将这些已存在的数据库文件重新关联并注册到一个SQL Server实例的过程,使其恢复为在线可用的状态。例如,当你获得一个项目源码包,其中包含的.mdf和.ldf文件,通过附加操作即可快速在你的本地SQL Server环境中重建完整的数据库。
相反,分离数据库是指将数据库从当前SQL Server实例的管理中移除,断开实例与底层数据文件之间的连接,但并不会删除磁盘上的物理文件。这类似于“安全移除硬件”操作,数据完好保存,只是实例不再对其进行访问和管理。若需同时移除实例关联并永久删除文件,则应使用“删除数据库”命令。
实践准备:创建用于附加的数据库文件
要进行附加操作,首先需要拥有完整的数据库文件集。我们可以利用CREATE DATABASE语句快速生成演示用的文件。请按照以下步骤准备:
首先,请在D盘根目录下新建一个名为“DATABASE”的文件夹(如果您的系统盘为C盘,请相应调整路径)。随后,在SQL Server Management Studio (SSMS)中执行以下T-SQL脚本:
IF DB_ID('TEST') IS NOT NULL DROP DATABASE TEST
GO
CREATE DATABASE TEST
ON PRIMARY (
NAME=TEST_DAT_MAIN1
,FILENAME='D:/DATABASE/TEST_DAT_MAIN1.MDF'
,SIZE=3MB
,MAXSIZE=UNLIMITED
,FILEGROWTH=5MB
),(
NAME=TEST_DAT_MAIN2
,FILENAME='D:/DATABASE/TEST_DAT_MAIN2.MDF'
,SIZE=3MB
,MAXSIZE=UNLIMITED
,FILEGROWTH=5MB
)
,FILEGROUP TEST_DAT_SUB1 DEFAULT (
NAME=TEST_DAT_SUB1
,FILENAME='D:/D
