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 创建的数据库。 这将阻止数据库被旧版本的数据库引擎物理使用。 但是,这与元数据状态相关且不会影响数据库兼容性级别。

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

相关推荐
luckys.one3 小时前
第9篇:Freqtrade量化交易之config.json 基础入门与初始化
javascript·数据库·python·mysql·算法·json·区块链
言之。4 小时前
Django中的软删除
数据库·django·sqlite
阿里嘎多哈基米6 小时前
SQL 层面行转列
数据库·sql·状态模式·mapper·行转列
抠脚学代码6 小时前
Ubuntu Qt x64平台搭建 arm64 编译套件
数据库·qt·ubuntu
jakeswang6 小时前
全解MySQL之死锁问题分析、事务隔离与锁机制的底层原理剖析
数据库·mysql
Heliotrope_Sun6 小时前
Redis
数据库·redis·缓存
一成码农6 小时前
MySQL问题7
数据库·mysql
吃饭最爱7 小时前
JUnit技术的核心和用法
数据库·oracle·sqlserver
专注API从业者7 小时前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
雨落Liy7 小时前
SQL 函数从入门到精通:原理、类型、窗口函数与实战指南
数据库·sql