本主题介绍 SQL Server 2014 中多个功能的备份和还原注意事项。 这些功能包括:文件还原和数据库启动、联机还原和禁用的索引、数据库镜像以及逐段还原和全文索引。
在本主题中:
文件还原和数据库启动
本部分仅适用于具有多个文件组的 SQL Server 数据库。
注释
当启动数据库时,仅恢复那些在数据库关闭时文件处于联机状态的文件组,并使其联机。
如果在数据库启动期间遇到问题,恢复将失败,并且数据库被标记为 SUSPECT。 如果问题可以隔离到文件或文件,数据库管理员可以使文件脱机,并尝试重启数据库。 若要使文件脱机,可以使用以下 ALTER DATABASE 语句:
ALTER DATABASE database_name MODIFY FILE (NAME =''filename, OFFLINE)
如果启动成功,包含脱机文件的任何文件组将保持脱机状态。
在线还原和禁用索引
本部分仅与具有多个文件组的数据库相关,对于简单恢复模式,至少与一个只读文件组相关。
在这些情况下,当数据库处于联机状态时,仅当保存索引的任何部分的所有文件组都处于联机状态时,才能创建、删除、启用或禁用索引。
有关还原脱机文件组的信息,请参阅联机还原(SQL Server)。
数据库镜像和备份和还原
本节仅适用于具有多个文件组的全模型数据库。
注释
数据库镜像功能将在Microsoft SQL Server 的未来版本中删除。 避免在新开发工作中使用此功能,并计划修改当前使用此功能的应用程序。 请改用Always On可用性组。
数据库镜像是提高数据库可用性的解决方案。 镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库。 有关详细信息,请参阅数据库镜像(SQL Server)。
注释
若要在数据库中分发文件组子集的副本,请使用复制:仅复制要复制到其他服务器的文件组中的那些对象。 有关复制的详细信息,请参阅 SQL Server 复制。
创建镜像数据库
镜像数据库是通过还原镜像服务器上的主体数据库的备份(WITH NORECOVERY)创建的。 还原必须保留相同的数据库名称。 有关详细信息,请参见准备镜像数据库用于镜像 (SQL Server)。
可以使用受支持的分步还原序列来创建镜像数据库。 但是,只有在还原了所有文件组并通常还原日志备份以使镜像数据库的时间与主体数据库足够接近之后,才能启动镜像。 有关详细信息,请参阅“段落还原”(SQL Server)。
镜像期间备份和还原的限制
当数据库镜像会话处于活动状态时,以下限制适用:
不允许备份和还原镜像数据库。
允许备份主体数据库,但不允许 BACKUP LOG WITH NORECOVERY。
不允许还原主体数据库。
段落还原和 Full-Text 索引
本部分仅与包含多个文件组的数据库相关,对于简单模型数据库,仅适用于只读文件组。
全文索引存储在数据库文件组中,并且可能会受到段落还原的影响。 如果全文索引与任何关联的表数据位于同一文件组中,则部分还原正常工作。
注释
若要查看包含全文索引的文件组的文件组 ID,请选择 sys.fulltext_indexes的data_space_id列。
在单独的文件组中 Full-Text 索引和表
如果全文索引驻留在与所有关联表数据的单独文件组中,则片段还原的行为取决于文件组的还原方式,并首先联机:
如果还原包含全文索引的文件组并在包含关联表数据的文件组之前联机,全文搜索会在全文索引联机后按预期方式工作。
如果已还原包含表数据的文件组,并在包含全文索引的文件组之前联机,则全文行为可能会受到影响。 这是因为 Transact-SQL 语句会触发填充、重新生成目录或重新组织目录,这些操作在索引上线之前都会失败。 这些语句包括 CREATE FULLTEXT INDEX、ALTER FULLTEXT INDEX、DROP FULLTEXT INDEX 和 ALTER FULLTEXT CATALOG。
在这种情况下,以下因素非常重要:
如果全文索引具有更改跟踪,则在索引文件组联机之前,用户 DML 将失败。 删除作业也会失败,直到索引文件组处于联机状态。
无论更改跟踪如何,全文查询都会失败,因为索引不可用。 如果在包含全文索引的文件组处于脱机状态时尝试全文查询,则返回错误。
仅当状态函数(如 FULLTEXTCATALOGPROPERTY)无权访问全文索引时,才会成功。 例如,访问任何联机全文元数据会成功,但 uniquekeycount、itemcount 将失败。
还原全文索引文件组并联机后,索引数据和表数据是一致的。
一旦基本表文件组和全文索引文件组处于联机状态,任何暂停的全文填充就会恢复。
文件备份和还原和压缩
SQL Server 支持只读文件组和只读数据库的 NTFS 文件系统数据压缩。
压缩的 NTFS 文件支持还原只读文件组中的文件。 备份和还原这些文件组实质上的工作方式与任何只读文件组一样,但有以下例外:
将读写文件(包括读写数据库的主文件或日志文件)还原到压缩卷失败并显示错误。
允许将只读数据库还原到压缩卷。
注释
不应将读/写数据库的日志文件放置在压缩文件系统上。
相关任务
另请参阅
SQL Server 数据库的备份和还原
备份和还原复制的数据库
活动辅助副本:次要副本上的备份(AlwaysOn 可用性组)