1.概述分离和附加数据库对于将数据库移动或更改到同一台计算机上的不同SQLServer实例非常有用;用户可以分离数据库的数据和事务日志文件并将它们重新附加到相同或另一个SQLServer实例在64位和32位环境中,SQLServer磁盘存储格式相同,因此32位数据库环境可以附加到64位环境,反之亦然;来自在特定环境中运行的服务器实例上的分离数据库可以附加到在另一个环境中运行的服务器实例;注意:不要从未知或不受信任的来源附加或恢复数据库;此类数据库可能包含恶意代码,这些代码会执行意外的架构或物理数据库结构而导致错误;在使用来自未知或不受信任来源的数据库之前,在检查数据库中的代码时,对非生产服务器中的数据库运行DBCCCHECKDB;2.分离数据库,但完整保留数据库的数据文件和事务日志文件;然后可以使用这些文件将数据库附加到SQLServer的任何实例,包括数据库从中分离出来的服务器;如果存在以下任何一种情况,则无法进行分离数据库;已复制和发布的数据库;如果执行复制,则必须取消发布数据库,并且必须在通过运行sp_replicationdboption禁用发布后分离数据库;数据库中有数据库快照,必须删除所有数据库快照才能分离数据库;数据库正在数据库镜像会话中进行镜像,如果不终止会话就无法分离数据库;数据库处于可疑状态;数据库为系统数据库;2.1分离数据库的步骤在SSMSObjectExplorer中连接到SQLServer数据库引擎实例,展开实例;展开数据库,选择要分离的用户数据库名称;右击数据库→任务→分离;4.分离数据库对话框,确认;3、通过SSMS附加数据库,用户也可以附加复制的或分离的SQLServer数据库;注意:附加数据库时,必须分离数据库并且所有数据文件(MDF或NDF)必须可用;附加日志文件的要求在某些方面取决于它们是可读写的还是只读的;如果读写数据库只有一个日志文件,并且没有为日志文件指定新位置,追加操作会在旧位置寻找文件;如果找到旧的日志文件,无论数据库上次是否完全关闭文件都将使用它;但是,如果没有旧文件日志,数据库上次完全关闭,现在没有活跃的日志链,追加操作会尝试为数据创建一个新的日志文件;相反,如果附加的主数据文件是只读的,则数据库引擎假定数据库也是只读的;对于只读数据库,日志文件必须位于数据库中指定的位置;从上面可以看出,在用户尝试附加SQLServer数据库之前,必须满足某些先决条件,如下所示:必须首先分离数据库,任何尝试附加未分离的数据库都会返回错误;附加数据库时,所有数据文件(MDF文件和LDF文件)必须可用;如果任何数据文件路径与数据库首次创建或最后附加时的路径不同,您必须指定文件的当前路径;附加数据库时,如果MDF和LDF文件位于不同的目录,并且其中一个路径包含?GlobalRoot,操作将失败;3.1附加数据操作步骤将数据库附加到指定目标,操作步骤如下:1.数据库右键→附加;2、在AttachDatabase对话框中,如果要指定要附加的数据库,可以点击Add,在locatedatabasefile中选择数据库所在的磁盘驱动器,展开目录,找到并选择data**.mdf**数据库文件;关于SQLServer数据库分离和附加的文章到此结束。更多关于SQLServer分离和附着的内容,请搜索服务器之家以往文章或继续浏览下方相关文章,希望大家以后多多支持服务器之家!原文地址:https://blog.csdn.net/weixin_43960383/article/details/124086987
