【決定版】SQL Server 2008におけるコピーのみのバックアップ:種類、用途、作成方法からオプション、注意事項まで徹底解説
SQL Serverにおけるコピーのみのバックアップオプションとは?
SQL Serverのコピーのみのバックアップは、通常のバックアップとは異なり、通常のバックアップスケジュールとは独立して実行される特殊なバックアップです。通常のバックアップでは、データベースファイルが更新され、その後のバックアップの復元方法に影響します。一方、コピーのみのバックアップは、データベースファイルの静的なコピーを作成するため、その後のバックアップ操作に影響を与えません。
種類
コピーのみのバックアップには、主に以下の2種類があります。
- コピーのみの完全バックアップ: データベースの完全なコピーを作成します。すべての復旧モデルで使用できます。ただし、差分ベースまたは差分バックアップとして使用することはできません。
- コピーのみのログバックアップ: トランザクションログの完全なコピーを作成します。完全復旧モデルと一括ログ復旧モデルのみで使用できます。
用途
コピーのみのバックアップは、以下の様な用途で利用されます。
- 災害復旧: データベースのオフサイトコピーを作成して、災害発生時に備えることができます。
- テストと開発: テストや開発環境でデータベースの復元を行う際に、本番環境のバックアップに影響を与えずに行うことができます。
- 監査: 特定の時点におけるデータベースの状態を記録するために使用できます。
作成方法
- Transact-SQL (T-SQL):
BACKUP
データベースコマンドを使用して、COPY_ONLY
オプションを指定できます。 - SQL Server Management Studio (SSMS): SSMSを使用して、グラフィカルインターフェースでコピーのみのバックアップを作成できます。
オプション
コピーのみのバックアップを作成する際には、以下のオプションを指定できます。
- 場所: バックアップファイルの保存場所を指定します。
- 圧縮: バックアップファイルを圧縮して、ストレージスペースを節約できます。
- 暗号化: バックアップファイルを暗号化して、セキュリティを強化できます。
注意事項
- コピーのみのバックアップは、差分ベースまたは差分バックアップとして使用することはできません。
- コピーのみの完全バックアップを復元するには、最新のトランザクションログバックアップも必要です。
- コピーのみのバックアップは、定期的なバックアップスケジュールの一部としてではなく、必要に応じてのみ作成する必要があります。
補足
- SQL Server 2008でも、上記のコピーのみのバックアップオプションを利用できます。
- 本記事は、あくまで概要説明であり、詳細については公式ドキュメントを参照することを推奨します。
SQL Server 2008におけるコピーのみのバックアップサンプルコード
BACKUP DATABASE MyDatabase
TO DISK = 'C:\MyBackup\MyDatabase_Full.bak'
WITH NOFORMAT,
MEDIANAME = 'MyDatabase_Full',
STATS = 10
COPY_ONLY;
このコードの説明:
BACKUP DATABASE MyDatabase
: バックアップ対象のデータベースを指定します。TO DISK = 'C:\MyBackup\MyDatabase_Full.bak'
: バックアップファイルの保存場所を指定します。WITH NOFORMAT
: フォーマット指定なしでバックアップを作成します。MEDIANAME = 'MyDatabase_Full'
: メディアセットの名前を指定します。STATS = 10
: バックアップ統計情報の更新間隔を10ページごとに設定します。COPY_ONLY
: コピーのみのバックアップを作成します。
SSMS を使用したコピーのみの完全バックアップ
- SSMSでデータベースを右クリックし、「タスク」>「バックアップ」を選択します。
- 「バックアップ設定」ページで、「バックアップの種類」を「完全」に、「コピーのみのバックアップ」チェックボックスをオンにします。
- その他のオプションを設定して、「OK」をクリックします。
- 上記のコードはあくまで一例であり、必要に応じてオプションを変更する必要があります。
- バックアップ操作を実行する前に、必ず十分な権限を持っていることを確認してください。
SQL Server 2008でコピーのみのバックアップを作成するその他の方法
Windows Server バックアップツールを使用して、SQL Server 2008 データベースのコピーのみのバックアップを作成することもできます。この方法は、SQL Server の専門知識がなくても、簡単にバックアップを作成できるという利点があります。
手順:
- Windows Server バックアップツールを開きます。
- 「バックアップまたは復元」をクリックして、「バックアップ」を選択します。
- 「バックアップする項目を選択」ページで、「追加」をクリックして、バックアップ対象のデータベースを選択します。
- 「バックアップオプション」ページで、「バックアップの種類」を「コピーのみ」に設定します。
VSS を使用する
Volume Shadow Copy Service (VSS)を使用して、SQL Server 2008 データベースのコピーのみのバックアップを作成することもできます。VSSは、Windows オペレーティングシステムに組み込まれた機能で、アプリケーションを停止せずに一貫したボリュームのバックアップを作成することができます。
- コマンドプロンプトを開きます。
- 以下のコマンドを実行します。
wbadmin start backup -backupTarget:C:\MyBackup -volume:E: -vssFull -vssCopyOnly
wbadmin start backup
: WBAdmin コマンドラインツールを使用してバックアップを開始します。-backupTarget:C:\MyBackup
: バックアップファイルの保存場所を指定します。-volume:E:
: バックアップ対象のボリュームを指定します。-vssFull
: VSSを使用して完全なバックアップを作成します。
- VSS を使用するには、VSS ライターが SQL Server 2008 でインストールされていることを確認する必要があります。
- VSS バックアップは、SQL Server のネイティブバックアップほど高速ではない場合があります。
sql-server database sql-server-2008