SQL Server数据库分离和附加数据库的操作步骤

 更新时间:2022年10月26日 12:08:59   作者:菇毒  
数据库的附加是数据库在数据库文件中添加到数据库当中的操作,下面这篇文章主要给大家介绍了关于SQL Server数据库分离和附加数据库的操作步骤,文中通过图文介绍的非常详细,需要的朋友可以参考下

1. 概述

若要将数据库移动或更改到同一计算机的不同 SQL Server 实例,分离和附加数据库会很有用;用户可以分离数据库的数据和事务日志文件,再将它们重新附加到同一或其他 SQL Server 实例中;

在 64 位和 32 为环境中,SQL Server 磁盘存储格式均相同,所以,能将 32 位环境中的数据库附加到 64 位环境中,反过来也行;

从运行在某个环境中的服务器实例上分离的数据库可以附加到运行在另一个环境的服务器实例;

注意: 不要从未知或不可信源附加或还原数据库;此类数据库可能包含执行非预期 T-SQL 代码的恶意代码,或通过修改架构或物理数据库结构导致错误;在使用未知源或不可信源中的数据库之前,在非生产服务器中对数据库运行 DBCC CHECKDB,同时检查数据库中的代码;

2. 分离数据库

分离数据库 指从 SQL Server 实例中删除,但使数据库在其数据文件和事物日志文件保持不变;之后,就能使用这些文件将数据库附加到任何 SQL Server 实例,包括分离该数据库的服务器;

若存在以下任何情况,就不能分离数据库;

  1. 已复制并发布的数据库;若进行复制,数据库就必须是未发布的,必须通过运行 sp_replicationdboption 禁用发布后,才能分离数据库;
  2. 数据库中存在数据库快照,必须先删除所有数据库快照,才能分离数据库;
  3. 该数据库正在某个数据库镜像会话中进行镜像,不终止该会话,就不能分离该数据库;
  4. 数据库处于可疑状态;
  5. 该数据库是系统数据库;

2.1 分离数据库的步骤

  1. 在 SSMS 对象资源管理器中连接到 SQL Server 数据库引擎的实例,展开该实例;
  2. 展开数据库,选择要分离的用户数据库名称;
  3. 右击数据库 → 任务 → 分离

4.分离数据库对话框,确定;

20220320

3. 附加数据库

通过 SSMS ,用户同样能附加复制的或分离的 SQL Server 数据库;

注意: 附加数据库时,该数据库必须已分离且所有数据文件(MDF 文件或 NDF 文件)都必须可用;

附加日志文件的要求在某些方面取决于是读写还是只读的;

若读写数据库具有单个日志文件,且没有为该日志文件指定新位置,附加操作将在旧位置中查找该文件;

若找到了该就日志文件,无论数据库上次是否完全关闭,都会使用该文件;但是,若未找到旧文件日志,数据库上次是完全关闭且现在没有活动日志链,则附加操作将尝试为数据创建新的日志文件;

反之,若附加的主数据文件是只读的,则数据库引擎假定该数据库也是只读的;对于只读数据库,日志文件在数据库中指定的位置上必须可用;

从上述内容能看出,用户尝试附加 SQL Server 数据库前,必须具备一定的先决条件,如下所示:

  1. 必须先分离数据库,任何尝试附加未分离的数据库都将返回错误;
  2. 附加数据库时,所有数据文件(MDF 文件和 LDF 文件)都必须可用;若任何数据文件路径不同于首次创建数据库或上次附加数据库时的路径,则必须指定文件的当前路径;
  3. 在附加数据库时,若 MDF 和 LDF 文件位于不同目录且其中一条路径包含 \?\GlobalRoot,该操作将失败;

3.1 附加数据的操作步骤

附加数据库到指定目标上,操作步骤如下:

1.右击数据库附加

2.附加数据库对话框中,若要指定要附加的数据库,可单击添加,在定位数据库文件中选择数据库所在的磁盘驱动器并展开目录,以查找并选择数据的**.mdf** 数据库文件;

20220320

20220320

总结 

到此这篇关于SQL Server数据库分离和附加数据库的文章就介绍到这了,更多相关SQLServer分离和附加数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Sql学习第三天——SQL 关于with ties介绍

    Sql学习第三天——SQL 关于with ties介绍

    with ties一般是和Top , order by相结合使用的,会查询出最后一条数据额外的返回值,接下来将为大家详细介绍下,感兴趣的各位可以参考下哈
    2013-03-03
  • SQL Server使用xp_readerrorlog命令查看错误日志

    SQL Server使用xp_readerrorlog命令查看错误日志

    本文探讨了SQL Server中查看日志的四种方法,重点介绍了xp_readerrorlog命令的使用方法,xp_readerrorlog命令用于T-SQL读取SQL Server错误日志,有助于对SQL Server中的问题进行故障排除,避免因特定情况而从GUI读取大型错误日志的麻烦
    2025-03-03
  • SQL Server的执行计划

    SQL Server的执行计划

    查询优化器的输出是查询执行计划,有时称为查询计划或执行计划。本文主要详细介绍了SQL Server的执行计划,感兴趣的同学可以参考阅读
    2023-04-04
  • SQL Server解决游标性能问题的替代方案

    SQL Server解决游标性能问题的替代方案

    游标是一种能从包含多个元组的集合中每次读取一个元组的机制,游标总是和一段SELECT语句关联,SELECT语句查询出的结果集就作为集合,游标能每次从该集合中读取出一个元组进行不同操作,但在某些情况下,它们可能会导致性能问题,本介绍了SQL Server解决游标性能问题的替代方案
    2024-12-12
  • Sqlserver 存储过程中结合事务的代码

    Sqlserver 存储过程中结合事务的代码

    Sqlserver 存储过程中使用事务
    2010-06-06
  • MSSQL优化之探索MSSQL执行计划(转)

    MSSQL优化之探索MSSQL执行计划(转)

    最近总想整理下对MSSQL的一些理解与感悟,却一直没有心思和时间写,晚上无事便写了一篇探索MSSQL执行计划,本文讲执行计划但不仅限于讲执行计划
    2011-10-10
  • SQL Server自动更新统计信息的基本算法

    SQL Server自动更新统计信息的基本算法

    最初接触SQL Server的时候认为SQLServer数据更改的同时就会相应的更新统计信息,其实SQL Server不是这样做的.基于性能考虑,SQL Server使用下面的算法更新统计信息
    2012-08-08
  • sql server修改数据库文件位置的详细步骤记录

    sql server修改数据库文件位置的详细步骤记录

    在SQL Server中可以通过一系列的步骤来更改数据库文件的存储位置,这篇文章主要给大家介绍了关于sql server修改数据库文件位置的详细步骤,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • SQL Server无日志恢复数据库(2种方法)

    SQL Server无日志恢复数据库(2种方法)

    SQL Server数据库中的日志文件可能会由于一些突发事件或者失误造成丢失的严重后果,大家都知道,SQL Server数据库中日志文件是很重要的,所以要及时的将丢失的日志文件给找回来。下文就为大家介绍一种恢复数据库日志文件的方法。
    2015-08-08
  • SQL Server 内存占用高分析及问题解决办法

    SQL Server 内存占用高分析及问题解决办法

    文章详细分析了SQL Server内存占用高的问题,包括数据缓存和执行命令缓存的机制,并提供了解决办法,如清除缓存、设置内存最大占用值等,感兴趣的朋友跟随小编一起看看吧
    2025-01-01

最新评论