如何还原文件和文件组 (Transact-SQL)
本主题说明如何还原文件和文件组。
重要提示 |
---|
还原文件和文件组的系统管理员必须是唯一一位当前使用要还原的数据库的人。 |
还原文件和文件组
执行 RESTORE DATABASE 语句以还原文件和文件组备份,同时指定:
要还原的数据库的名称。
从中还原完整数据库备份的备份设备。
每个要还原文件的 FILE 子句。
每个要还原文件组的 FILEGROUP 子句。
NORECOVERY 子句。如果在创建文件备份之后未对文件进行过修改,则指定 RECOVERY 子句。
重要提示 若要还原已加密的数据库,您必须有权访问用于加密数据库的证书或非对称密钥。如果没有证书或非对称密钥,数据库将无法还原。因此,只要该备份还需要,就必须保留用于加密数据库加密密钥的证书。有关详细信息,请参阅 SQL Server 证书和非对称密钥。
如果在创建文件备份之后对文件进行了修改,则执行 RESTORE LOG 语句以应用事务日志备份,同时指定:
事务日志将应用到的数据库的名称。
要还原的事务日志备份的备份设备。
如果在应用当前事务日志备份之后还要应用其他事务日志备份,则指定 NORECOVERY 子句。
事务日志备份(如果可用)必须包括截止到日志结尾处的文件和文件组备份(除非已还原所有数据库文件)。
注意 |
---|
将 SQL Server 2005 或 SQL Server 2000 数据库还原到 SQL Server 2008 后,该数据库将立即变为可用,然后自动升级。如果数据库具有全文索引,升级过程将导入、重置或重新生成它们,具体取决于 upgrade_option 服务器属性的设置。如果将升级选项设置为“导入”(upgrade_option = 2) 或“重新生成”(upgrade_option = 0),在升级过程中将无法使用全文索引。导入可能需要数小时,而重新生成所需的时间最多时可能十倍于此,具体取决于要编制索引的数据量。另请注意,如果将升级选项设置为“导入”,并且全文目录不可用,则会重新生成关联的全文索引。若要更改 upgrade_option 服务器属性的设置,请使用 sp_fulltext_service。 |
示例
以下示例将还原 MyNwind 数据库的文件和文件组。为了将数据库还原到当前时间,还将应用两个事务日志。
USE master
GO
-- Restore the files and filesgroups for MyNwind.
RESTORE DATABASE MyNwind
FILE = 'MyNwind_data_1',
FILEGROUP = 'new_customers',
FILE = 'MyNwind_data_2',
FILEGROUP = 'first_qtr_sales'
FROM MyNwind_1
WITH NORECOVERY
GO
-- Apply the first transaction log backup.
RESTORE LOG MyNwind
FROM MyNwind_log1
WITH NORECOVERY
GO
-- Apply the last transaction log backup.
RESTORE LOG MyNwind
FROM MyNwind_log2
WITH RECOVERY
GO