sqlserver 分离和附加

本文介绍了SQLServer中数据库分离和附加的概念及应用场景,并提供了具体的T-SQL命令示例,帮助读者理解如何通过分离和附加操作迁移或备份数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、何为数据库分离和附加

数据库分离:

分离数据库就是将某个数据库(如student_Mis)从SQL Server数据库列表中删除,使其不再被SQL Server管理和使用,但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。

数据库附加:

分离数据库就是将某个数据库(如student_Mis)从SQL Server数据库列表中删除,使其不再被SQL Server管理和使用,但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。

2、数据库分离附加的应用场景

a)、通过分离和附加来移动数据库或者将数据库更改到同一计算机的不同SQL server实例;
b)、通过分离和附加来升级数据库,比如将数据库由SQL server 2005升级到SQL server 2012的时候;

3、用T—sql语句进行分离附加数据库

--分离数据库 xxxDB为要分离的数据库名
USE [master]
GO
ALTER DATABASE [xxxDB] SET  SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
USE [master]
GO
EXEC master.dbo.sp_detach_db @dbname = N'xxxDB', @skipchecks = 'false'
GO
--附加数据库,其中E:\xxx\xxxDB.mdf为数据库数据文件路径,E:\xxx\xxxDB_log.ldf为数据库日志文件路径
-- 其中 xxxxxxDB可以更改名称(附加之后的数据库名)
USE [master]
GO
CREATE DATABASE [xxxxxxDB] ON 
( FILENAME = N'E:\xxx\xxxDB.mdf' ),
( FILENAME = N'E:\xxx\xxxDB_log.ldf' )
 FOR ATTACH
GO

其中分离数据库过程可能涉及的地方解释(使用ssms图形工具操作时):

删除连接:断开与指定数据库的连接,因为不能分离连接为活动状态的数据库。
更新统计信息:默认情况下,分离操作将在分离数据库时保留过期的优化统计信息;若要更新现有的优化统计信息,请单击此复选框。
保留全文目录:默认情况下,分离操作保留所有与数据库关联的全文目录。 若要删除全文目录,请清除“保留全文目录”复选框。 只有从 SQL Server 2005 升级数据库时,才会显示此选项

转载于:https://www.cnblogs.com/lx823706/p/5509035.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值