web-dev-qa-db-ja.com

ファイルグループを使用してバックアップを実行し、それらのバックアップを復元するための最良の方法

シナリオ:

データベースは、次のファイルグループで構成されています。

PRIMARY
xxTEST2
xxTEST3
xxTEST4

データベースは、これらのファイルグループ内の次のファイルで構成されています。

xxTEST_RESTORE - Rows Data - PRIMARY - xxTEST_RESTORE.mdf
xxTEST_RESTORE2 - Rows Data - xxTEST2 - xxTEST_RESTORE2.ndf
xxTEST_RESTORE3 - Rows Data - xxTEST3 - xxTEST_RESTORE3.ndf
xxTEST_RESTORE4 - Rows Data - xxTEST4 - xxTEST_RESTORE4.ndf
xxTEST_RESTORE_log - Log - N/A - xxTEST_RESTORE_log.ldf

次の行で2つのテーブルが作成されます。

dbo.COUNTRIES
dbo.CUSTOMERS

次に、データベースの完全バックアップが実行され、行がCustomersテーブルに追加されます。

質問:

  1. 1つのレコードを追加し、これをバックアップしたい

  2. 2番目のレコードを追加して、そのバックアップを作成したい

  3. 最初のレコードが追加された前回にロールバックしたい(上記のQ#1)

    • 最初のレコードまたはFileGroupバックアップを追加した後、TRANS LOGバックアップを実行する必要がありますか?

    • データベースが復元モードである、選択したトランスログが気に入らないなどのエラーが発生し続けるため、適切にロールバックできるようにするには、バックアップの順序を実行する必要があります。

バックアップしてから復元するための適切なシーケンスを探す

1
ShaunStL

単一のファイルグループを以前の状態に復元することはできません。これは、データベースが一貫性のない状態のままになるためです。

データベースは、一度に1つのファイルグループで復元できます。ただし、特定のファイルグループがPRIMARYファイルグループで最新でない限り、そのファイルグループに(部分的にでも)格納されているテーブルにアクセスすると、クエリがエラーになります。すべてのファイルグループが同じレベル(同じ「ログシーケンス番号」を意味する)に復元された後でのみ、データベース全体にアクセスできます。

1
Sebastian Meine