sqlserver2017 分离附加数据库

分离数据库

分离数据库是指将数据库从 SQL Server 实例中移除,但会完整保留数据库及其数据文件和事务日志文件。 然后可以使用这些文件将数据库附加到任何 SQL Server 实例,包括分离该数据库的服务器。

如果存在下列任何情况,则不能分离数据库:

已复制并发布数据库。 如果进行复制,则数据库必须是未发布的。 必须通过运行 sp_replicationdboption禁用发布后,才能分离数据库。

备注

如果无法使用 sp_replicationdboption,可以通过运行 sp_removedbreplication 删除复制。
数据库中存在数据库快照。

必须首先删除所有数据库快照,然后才能分离数据库。

备注

不能分离或附加数据库快照。
数据库是 Always On 可用性组的一部分。
在将数据库从可用性组中删除之前,无法分离该数据库。 有关详细信息,请参阅从 Always On 可用性组中删除主数据库。
该数据库正在某个数据库镜像会话中进行镜像。
除非终止该会话,否则无法分离该数据库。 有关详细信息,请参阅删除数据库镜像 (SQL Server)。
数据库处于可疑状态。 无法分离可疑数据库;必须将数据库设为紧急模式,才能对其进行分离。 有关如何将数据库置于紧急模式下的详细信息,请参阅 ALTER DATABASE (Transact-SQL)。
数据库为系统数据库。

附加数据库

可以附加复制的或分离的 SQL Server 数据库。

附加数据库时,所有数据文件(.mdf 和 .ndf 文件)都必须可用。 如果任何数据文件的路径不同于首次创建数据库或上次附加数据库时的路径,则必须指定文件的当前路径。

将数据库附加到其他服务器实例

无法在早期版本的 SQL Server 中附加由较新版本的 SQL Server 创建的数据库。 这将阻止数据库被旧版本的数据库引擎物理使用。 但是,这与元数据状态相关且不会影响数据库兼容性级别。

将数据库附加到其他服务器实例时,为了给用户和应用程序提供一致的体验,您最好在其他服务器实例上为数据库重新创建部分或全部元数据。 此元数据包括登录名和作业。 有关元数据的详细信息,

相关推荐
@Turbo@33 分钟前
【QT】在QT6中读取文件的方法
开发语言·数据库·qt
ArabySide43 分钟前
【EF Core】 EF Core 批量操作的进化之路——从传统变更跟踪到无跟踪更新
数据库·.net·efcore
线条13 小时前
Hive SQL 中 BY 系列关键字全解析:从排序、分发到分组的核心用法
数据库·hive·sql
字节源流3 小时前
【MYSQL】索引篇(一)
数据库·mysql
n33(NK)3 小时前
MySQL中count(1)和count(*)的区别及细节
数据库·mysql
heart000_14 小时前
MySQL高级查询技巧:分组、聚合、子查询与分页【MySQL系列】
数据库·mysql
凭君语未可5 小时前
MySQL中COUNT(*)、COUNT(1)和COUNT(字段名)的深度剖析与实战应用
数据库·mysql
z人间防沉迷k6 小时前
MySQL事务和索引原理
数据库·笔记·sql·mysql
z人间防沉迷k6 小时前
字符串索引、幻读的解决方法
数据库·sql·mysql
xiaohezi6 小时前
Milvus 向量数据库快速入门(人话版)
数据库