MSSQL附加数据库
附加数据库时,所有数据文件(MDF 文件和 LDF 文件)都必须可用。 如果任何数据文件的路径不同于首次创建数据库或上次附加数据库时的路径,则必须指定文件的当前路径。
在附加数据库时,如果 MDF 和 LDF 文件位于不同目录并且其中一条路径包含 \\?\GlobalRoot,该操作将失败。
需要 CREATE DATABASE
、CREATE ANY DATABASE
或 ALTER ANY DATABASE
权限。
分离再重新附加只读数据库后,会丢失有关当前差异基准的备份信息。“差异基准” 是数据库或其文件或文件组子集中所有数据的最新完整备份。如果没有基准备份信息,master 数据库会变得与只读数据库不同步,这样之后进行的差异备份可能会产生意外结果。因此,如果对只读数据库使用差异备份,在重新附加数据库后,应通过进行完整备份来建立新的差异基准。
附加时,数据库会启动。通常,附加数据库时会将数据库重置为它分离或复制时的状态。但是,附加和分离操作都会禁用数据库的跨数据库所有权链接。
附加日志文件的要求在某些方面取决于数据库是读写的还是只读的,如下所示:
- 对于读写数据库,通常可以附加新位置中的日志文件。不过,在某些情况下,重新附加数据库需要使用其现有的日志文件。因此,请务必保留所有分离的日志文件,直到在不需要这些日志文件的情况下成功附加了数据库。
如果读写数据库具有单个日志文件,并且您没有为该日志文件指定新位置,附加操作将在旧位置中查找该文件。如果找到了旧日志文件,则无论数据库上次是否完全关闭,都将使用该文件。但是,如果未找到旧文件日志,数据库上次是完全关闭且现在没有活动日志链,则附加操作将尝试为数据库创建新的日志文件。
- 如果附加的主数据文件是只读的,则数据库引擎 假定数据库也是只读的。对于只读数据库,日志文件在数据库主文件中指定的位置上必须可用。因为SQL Server 无法更新主文件中存储的日志位置,所以无法生成新的日志文件。
使用SSMS数据库管理工具附加数据库
1、连接服务器-》在对象资源管理器窗口展开数据库文件夹-》右键点击数据库文件夹-》选择附加。
2、在附加数据库弹出框-》点击添加(查找必需的主数据库文件。当用户选择 .mdf 文件时,就会在 “要附加的数据库” 网格的相应字段中自动填充合适的信息。)。
3、在定位数据库文件弹出框中-》选择指定路径下分离的数据库文件(EltengCRM.mdf)-》点击确定。
4、在附加数据库弹出框-》要附加的数据库窗格(显示所选数据库的有关信息。):MDF 文件位置(显示选定 MDF 文件的路径和文件名。);数据库名称(显示数据库的名称。);附加为(根据需要,可以指定要附加数据库的其他名称。);“所有者”(提供数据库可能所有者的下拉列表,您可以根据需要从其中选择其他所有者。);“状态”(显示下表中相应的数据库状态。),状态一图标为无图标,状态文本为无文本,描述为此对象的附加操作尚未启动或者可能挂起。这是打开该对话框时的默认值;状态二图标为绿色的右向三角形,状态文本为正在进行,描述为已启动附加操作,但是该操作未完成;状态三图标为绿色的选中标记,状态文本为成功,描述为已成功附加该对象;状态四图标为包含白色十字形的红色圆圈,状态文本为错误,描述为附加操作遇到错误,未成功完成;状态五图标为包含左、右两个黑色象限和上、下两个白色象限的圆圈,状态文本为已停止,描述为由于用户停止了附加操作,该操作未成功完成;状态六图标为包含一个指向逆时针方向的曲线箭头的圆圈,状态文本为已回滚,状态描述为附加操作已成功,但已对其进行回滚,因为在附加其他对象的过程中出现了错误。-》删除(从 “要附加的数据库” 网格中删除选定文件。)-》数据库详细信息窗格:原始文件名(显示属于数据库的已附加文件的名称。);文件类型(指示文件类型,即 “数据” 或 “日志”。);当前文件路径(显示所选数据库文件的路径。可以手动编辑该路径。);消息(显示空消息或 “找不到文件” 超链接。)-》点击确定。
5、查看附加结果(不需要刷新即可在对象资源管理器窗口查看)。