Info2softは、ウェブサイトでより快適で適切な閲覧体験を提供するためにCookieを使用しています。 プライバシーポリシー
Loading...
現代のビジネス環境において、データはあらゆる組織の生命線であり、Microsoft SQL Serverは基幹業務データの保存・管理に広く活用されているリレーショナルデータベース管理システム(RDBMS)の一つです。データの消失、破損、システム障害からデータを守ることは必須事項であり、SQL Serverのバックアップ種別を理解することが堅牢なデータ保護戦略の土台となります。
SQL Serverのバックアップ種別を把握することで、ストレージ効率、バックアップ速度、リカバリ精度のバランスを取りながら、自社の業務要件に適したバックアップ方式を選定できます。SQL Server初心者のDBAから、バックアップ運用の改善を検討する熟練担当者まで、本ガイドでは主要なバックアップ方式の定義、実装手順、組み合わせ方を解説し、最大限のデータ安全性を実現する方法を紹介します。
各種SQL Serverデータベースバックアップの詳細を解説する前に、すべてのバックアップ処理に適用される共通ルールを理解する必要があります。この基本ルールを順守することで、バックアップの正常実行と障害時のリカバリを担保します。
まず、バックアップ対象データベースはオンライン状態である必要があります(末尾ログバックアップのみ、オフラインDBに対応可能な例外となります)。上位バージョンのSQL Serverで取得したバックアップは旧バージョンへリストアできないため、バージョン互換性に留意しなければなりません。また、トランザクション内にBACKUP文を記述することはできず、バックアップ先デバイスにはSQL Serverの書き込み権限を付与する必要があります。
バックアップを実行するには、sysadmin、db_owner、db_backupoperatorなど、BACKUP DATABASEおよびBACKUP LOG権限を保有するロールでログインする必要があります。バックアップ操作は主に3つのツール、SQL Server Management Studio(SSMS)、Transact-SQL(T-SQL)、PowerShellから実行可能で、運用スタイルや自動化要件に応じて使い分けます。
DBAから頻出する質問の一つがSQL Serverのバックアップ種別です。全部で7種類の主要方式が存在し、あらゆるSQL Serverバックアップ戦略の基盤を構成します。各方式は粒度、保存対象、活用シナリオが異なり、適切に組み合わせることで多層的なデータ防御体制を構築できます。
SQL Serverのバックアップ種別に万能な選択肢は存在せず、完全データベースの複製から個別ファイルのバックアップまで、それぞれ固有の役割を持っています。用途に合わせた使い分けが重要です。下記に各種別の定義、活用場面、実行コードを記載し、実務で活用できるよう解説します。
完全バックアップはすべてのSQL Serverバックアップ種別の基礎となる方式です。データベース全体のデータ、オブジェクト、完全リカバリに必要なトランザクションログを取得します。差分バックアップ、トランザクションログバックアップなど、その他すべてのバックアップは直近の完全バックアップを基点として動作します。
単純で信頼性が高い一方、保存容量と実行時間を多く消費するため、大容量データベースにおいて頻繁に実行するには適しません。
完全バックアップ T-SQL実行例
BACKUP DATABASE YourDatabaseName
TO DISK = 'C:\Backups\YourDatabase_Full.bak'
WITH COMPRESSION, NAME = 'Full Backup of YourDatabase';
差分バックアップは前回の完全バックアップ以降に変更が発生したデータエクステントのみをバックアップする方式で、完全バックアップと比較し高速かつ省ストレージです。細かいデータ変更が頻繁に発生するDBに適しており、バックアップ頻度を高めてデータ損失リスクを低減し、完全リカバリモデルにおけるログバックアップの数を削減できます。
注意点として、時間経過に伴い差分バックアップのサイズは増大するため、定期的に新たな完全バックアップを取得し、基点をリセットすることが推奨されます。
差分バックアップ T-SQL実行例
-- INITオプション付き完全バックアップ実行
BACKUP DATABASE YourDatabaseName
TO DISK = 'C:\Backups\YourDatabase_Diff.bak'
WITH INIT;
GO
-- 差分バックアップ実行
BACKUP DATABASE YourDatabaseName
TO DISK = 'C:\Backups\YourDatabase_Diff.bak'
WITH DIFFERENTIAL;
GO
トランザクションログバックアップは、前回の完全バックアップまたはログバックアップ以降のトランザクションログレコードを取得し、SQL Serverデータベースの任意時点リカバリを実現します。完全リカバリモデルと一括ログ記録リカバリモデルのみで利用可能であり、トランザクションログファイルの肥大化防止に不可欠です。
十分な保護を実現するため、業務のRTO(目標復旧時間)・RPO(目標復旧時点)に基づきログバックアップを定期実行し、ログファイルを耐障害性のあるストレージに保管して破損を防ぎます。
トランザクションログバックアップ T-SQL実行例
BACKUP LOG YourDatabaseName
TO DISK = 'C:\Backups\YourDatabase_Log.trn'
WITH COMPRESSION;
GO
末尾ログバックアップはまだバックアップされていないトランザクションログ(ログテール)を取得し、ログチェーンを維持してデータ損失を回避する方式です。完全・一括ログ記録リカバリモデル限定で、オフラインまたは破損したデータベースに対応可能な唯一のバックアップ種別となります。
破損DBには`CONTINUE_AFTER_ERROR`パラメータ、`NORECOVERY`によりDBをリストア状態に移行させ、追加のデータ変更を抑止します。末尾ログバックアップはリストア作業の前に実施するものであり、定時の定期バックアップには含まれません。
末尾ログバックアップ T-SQL実行例
USE master;
GO
BACKUP LOG YourDatabaseName
TO DISK = 'C:\Backups\YourDatabase_TailLog.trn'
WITH CONTINUE_AFTER_ERROR;
GO
コピーオンリーバックアップは通常のSQL Serverバックアップシーケンスと独立して動作する特殊なバックアップで、標準のバックアップ・リストア運用に影響を与えません。2種類に分かれ、コピーオンリー完全バックアップ(全リカバリモデル対応、差分の基点には利用不可)、コピーオンリーログバックアップ(完全/一括ログ記録モデル限定、既存のアーカイブポイントを維持)が存在します。
開発・検証やレポート作成用にデータベースの複製を作成する際に最適で、本番環境の定例バックアップ戦略を乱すことがありません。SSMSのバックアップウィザードで「コピーのみのバックアップ」にチェックを入れるだけで簡単に作成可能です。
大容量データベース向けの方式として、個別のファイルまたはファイルグループ(論理的なファイル集合)、およびロールフォワードに必要なログをバックアップします。差分ファイルバックアップの基点となり、障害が発生したファイルのみを復元できるため、DB全体をリストアする必要がなく復旧速度が向上します。
メンテナンスプランウィザードには対応していないため、PowerShellによる自動化で実行します。
ファイル/ファイルグループバックアップ PowerShell実行例
# 単一ファイルのバックアップ
Backup-SqlDatabase -ServerInstance YourSQLInstance -Database YourDatabaseName -BackupAction Files -DatabaseFile "YourDataFile.mdf"
# 複数ファイルグループのバックアップ
Backup-SqlDatabase -ServerInstance YourSQLInstance -Database YourDatabaseName -BackupAction Files -DatabaseFileGroup "FG1", "FG2"
部分バックアップは大容量データベース、特に単純リカバリモデルの環境におけるバックアップ柔軟性向上を目的とした方式です。読み書き可能なDBの場合、プライマリファイルグループ、すべての読み書きファイルグループ、任意の読み取り専用ファイルをバックアップ。読み取り専用DBの場合はプライマリファイルグループのみ保存します。
変更がほとんど発生しない巨大な読み取り専用ファイルグループを持つDBに適し、静的なデータの完全バックアップを省略し、実行時間とストレージ使用量を削減できます。
部分バックアップ T-SQL実行例
BACKUP DATABASE YourDatabaseName READ_WRITE_FILEGROUPS
TO DISK = 'C:\Backups\YourDatabase_Partial.bak'
WITH COMPRESSION;
GO
用途に適したバックアップ方式を迅速に選定できるよう、7種類のSQL Serverバックアップ種別について、基点、保存内容、主な活用場面、リカバリ要件、推奨実行頻度を一覧にまとめました。
|
バックアップ種別 |
バックアップ基点 |
保存対象 |
主な活用場面 |
リカバリに必要なデータ |
推奨頻度 |
| 完全バックアップ | データベース全体 | 全データ+完全復旧に必要なログ | 各種バックアップの基点、全体データ保存 | 最新の完全バックアップのみ | 週1回 |
| 差分バックアップ | 最新の完全バックアップ | 前回完全バックアップ後の変更データ領域 | 完全バックアップの補完、時間・容量削減 | 最新完全バックアップ+最新差分バックアップ | 1日1回 |
| トランザクションログバックアップ | 最新完全/ログバックアップ | 前回バックアップ以降のログレコード | 任意時点リカバリ、ログ肥大化防止 | 完全+(差分利用時は差分)+以降の全ログバックアップ | RTO/RPOに応じ高頻度(1時間毎など) |
| 末尾ログバックアップ | 完全+差分+全ログバックアップ | 未取得のトランザクションログ | ログチェーン維持、停止・破損DBの復旧 | 完全バックアップ+全ログ(末尾ログ含む) | 特別事例を除き、リストア前のみ実行 |
| コピーオンリーバックアップ | 完全バックアップ | 完全データまたはログ、アーカイブポイント維持 | 開発・検証、定例運用に影響しない一時的複製 | 通常の完全バックアップと同一 | 臨時の必要が生じた場合のみ |
| ファイル/ファイルグループバックアップ | 完全バックアップ | 指定ファイル/ファイルグループ+ロールフォワードログ | 大容量DB、破損ファイルのみ個別復元 | 障害が発生したファイル・ファイルグループのみ | DB部分的なバックアップが必要な場合 |
| 部分バックアップ | 完全バックアップ | 読み書きDB:プライマリ+読み書きFG。読取専用DB:プライマリFGのみ | 単純リカバリモデル大容量DB、静的な読取専用FGの効率化 | 障害のある読取/読み書きファイルのみ | 静的な読取専用FGを持つ単純モデル大容量DB |
SQL Serverのバックアップ種別を理解し活用することは重要ですが、T-SQLやPowerShellの手動実行、複数のバックアップ系列の管理は工数を消費し、人為的ミスの要因となります。特に複数のSQL Serverインスタンスや大容量DBを管理する環境では課題が顕在化します。これらの課題に対応するため、Info2softはSQL Serverバックアップ管理の効率化、安全性向上を実現する専用ソリューションi2Backupを提供しています。
i2BackupによるSQL Serverバックアップの利便性と安全性を体験いただくため、Info2softでは無料トライアルを提供しています。導入決定前に全機能を検証し、SQL Serverバックアップ種別の運用管理を効率化できるか確認可能です。
各種SQL Serverバックアップを活用する際のポイントは、単独で使用するだけでなく、DBの規模、変更頻度、復旧要件に合わせて組み合わせることです。多くの企業で採用される標準的な運用は、週次完全バックアップ、日次差分バックアップ、高頻度(1時間毎など)のトランザクションログバックアップで、ストレージ負荷とリカバリ精度の均衡を図れます。
変更の少ない巨大な読み取り専用ファイルグループを持つ大容量DBの場合は、ファイル/ファイルグループまたは部分バックアップをログバックアップと併用し、処理負荷を抑えます。リストア作業実施前には必ず末尾ログバックアップを取得し最新のデータを保全し、臨時の複製作成にはコピーオンリーバックアップを利用し定例運用に影響を与えないようにします。SQL Serverバックアップ種別の組み合わせルールを習得することで、障害発生時に任意時点への復元を実現し、停止時間を最小限に抑えられます。
複数のSQL Serverインスタンスとデータベースを保有する企業では、SQL Serverバックアップ種別と実行スケジュールの管理が複雑化しがちです。運用を効率化することで人為的ミスを防止し、安定したバックアップと容易なリカバリを実現できます。
高性能なバックアップソリューションは定時バックアップの自動実行、各種SQL Serverデータベースバックアップの一元管理、圧縮・重複排除によるストレージ最適化に対応し、少ない操作手順で高速な任意時点リカバリを提供します。自動化ツールを活用することで手作業を削減し、RTO・RPO目標を順守し、基幹データを確実に保護できます。
結論として、SQL Serverバックアップ種別は耐障害性の高いデータ保護戦略を構築する基礎要素です。SQL Serverを運用するDBAやIT担当者にとって、各種別の定義、活用場面、実装手法の理解は必須事項となります。土台となる完全バックアップから、用途を限定した部分バックアップ、ファイル単位のバックアップまで、それぞれ固有の役割を持っており、適切に組み合わせることで実行速度、ストレージ容量、リカバリ精度のバランスを調整可能です。
本資料に記載したSQL Serverバックアップの共通事前条件、T-SQL・PowerShellサンプルコードを活用することで、各バックアップ種別を自信を持って導入できます。適切な自動化ツールを組み合わせることで複雑なバックアップ運用をシームレスなプロセスへ変換し、あらゆる障害に備え、企業の重要データを常に保護・リカバリ可能な状態に保ちます。