将文件组恢复到不同的数据库
Restore filegroup to different database
我有一个包含 5 个文件组的 SQL 服务器数据库,我只想备份 2 个文件组(一个包含文件流)并将它们恢复到不同的现有数据库。
你问的是Piecemeal Restores (SQL Server)
您可以恢复 primary
+ 所有 readwrite
fg + 您处于 simple
恢复模式的任何 readonly
文件组,或者您可以恢复 primary
+ 任何其他文件组,如果您处于 full
恢复模式。
由于要恢复的第一个文件组始终是 primary
文件组,它将替换您的 "different existing database" 主数据文件和日志(在您的 restore
命令中,您应该使用 with move
指向您现有的 mdf + 日志文件)并且每次后续恢复都将覆盖其他文件,您的 "existing" 数据库将不会保留任何内容,因此恢复到 "different existing database" 没有任何意义:您将能够仅使您恢复的文件组联机,数据库将对 "existing database" 的剩余文件一无所知。所以这与恢复到另一个(不存在的)数据库一样。
这是 primary
+ readonly fg
在 simple
恢复模型 Example: Piecemeal Restore of Only Some Filegroups (Simple Recovery Model)
中的恢复序列示例
这里是 full
恢复模型 Example: Piecemeal Restore of Only Some Filegroups (Full Recovery Model)
的示例
我有一个包含 5 个文件组的 SQL 服务器数据库,我只想备份 2 个文件组(一个包含文件流)并将它们恢复到不同的现有数据库。
你问的是Piecemeal Restores (SQL Server)
您可以恢复 primary
+ 所有 readwrite
fg + 您处于 simple
恢复模式的任何 readonly
文件组,或者您可以恢复 primary
+ 任何其他文件组,如果您处于 full
恢复模式。
由于要恢复的第一个文件组始终是 primary
文件组,它将替换您的 "different existing database" 主数据文件和日志(在您的 restore
命令中,您应该使用 with move
指向您现有的 mdf + 日志文件)并且每次后续恢复都将覆盖其他文件,您的 "existing" 数据库将不会保留任何内容,因此恢复到 "different existing database" 没有任何意义:您将能够仅使您恢复的文件组联机,数据库将对 "existing database" 的剩余文件一无所知。所以这与恢复到另一个(不存在的)数据库一样。
这是 primary
+ readonly fg
在 simple
恢复模型 Example: Piecemeal Restore of Only Some Filegroups (Simple Recovery Model)
这里是 full
恢复模型 Example: Piecemeal Restore of Only Some Filegroups (Full Recovery Model)