Loading...

We've detected that your browser language is Chinese. Would you like to visit our Chinese website? [ Dismiss ]
By: Emma

データベース管理者の業務において、堅牢なデータ保護とストレージ効率を両立させることは永続的な課題です。完全バックアップはあらゆるリカバリ戦略の基盤となりますが、大規模なSQL Serverデータベースでは数時間ごとに完全バックアップを実行することは現実的ではありません。そこで差分バックアップが重要な手段となります。

SQL Server差分バックアップとは何か

SQL Serverにおける差分バックアップは累積型です。前回の完全バックアップ以降のすべてのデータ変更を記録するため、バックアップ時間とストレージ使用量を削減できます。データベースバックアップ、部分バックアップ、ファイルバックアップ(コピーオンリーバックアップを除く)など、大半の完全バックアップが差分バックアップのベースとして利用可能です。

完全バックアップ vs 差分バックアップ vs トランザクションログバックアップの違い

SQL Serverには主に3種類のバックアップ、完全バックアップ、差分バックアップ、トランザクションログバックアップが存在します。データ保護戦略において種類の選び方と使用タイミングを理解するため、各々の定義と主な特徴を一覧にまとめます。

特徴 完全バックアップ 差分バックアップ トランザクションログバックアップ
含まれるデータ データベース全体 前回完全バックアップ以降の変更分 前回ログバックアップ以降の変更分
バックアップ速度 最も遅い 中程度(時間経過で増大) 最も速い
リストア速度 最も速い 速い(完全+1つの差分) 最も遅い(完全+すべてのログ)
ファイルサイズ 最も大きい 中程度(増加する) 最も小さい
実行頻度 週次/日次 日次/時間次 分次/時間次

注記:差分バックアップを作成するには事前に完全バックアップが必要です。ベースとなる完全バックアップが存在しない場合、差分バックアップの起点がなく処理は失敗します。

方法1:SSMS GUIによるSQL差分バックアップ

多くの管理者はGUI操作でデータベース作業を行うツールとしてSQL Server Management Studio(SSMS)を利用します。スクリプトを手書きせずガイドに沿って操作できるため、初心者に好まれます。SSMSによるバックアップ基礎の詳細ガイドはSSMSでのデータベースバックアップを参照してください。

GUIを使用して差分バックアップを実行する手順は以下の通りです。

  1. SSMSを起動し、SQL Serverインスタンスに接続します。
  2. オブジェクトエクスプローラーでデータベースを展開します。
  3. 保護対象のデータベースを右クリックし、タスクにカーソルを合わせ、バックアップ…を選択します。

    Database-Tasks-Backup in SSMS GUI to backup database

  4. [データベースのバックアップ]ウィンドウにて、バックアップの種類を差分に設定します。

    Backup type Differential in Back Up Database

注記:このオプションがグレーアウトしている場合、通常は対象データベースの完全バックアップが未実行です。
  1. 保存先セクションでストレージパスを確認します。追加をクリックし、任意の保存先や.bakのような拡張子を指定しファイルを整理できます。

    Backup file destination Add in Back Up Database

  2. OKをクリックし処理を開始します。進捗バーが表示され、バックアップ完了時に確認メッセージが出力されます。

    Click Ok in Back Up Databased

GUIによる手法は単発作業に適していますが、ワークフローの自動化や複数サーバーの管理にはTransact‑SQLがより柔軟です。

方法2:Transact‑SQLによる差分バックアップの作成

GUIは単発のバックアップに有効ですが、データベース技術者の中にはTransact‑SQL(T‑SQL)でバックアップを作成することを好む方もいます。SQL Server差分バックアップ専用スクリプトを使用することで、より精密かつ高速にワークフローを実行可能です。

Create a Differential Backup with Transact-SQL

以下は本番環境で利用可能な標準スクリプトです。自身のSQL Server環境とバックアップ要件に合わせてコピーし修正して使用してください。

-- 前提:事前にデータベースの有効な完全バックアップが存在すること
-- 注記:環境に合わせデータベース名とバックアップパスを変更してください
BACKUP DATABASE [YourDatabaseName]
TO DISK = N'C:\Backups\YourDatabaseName_Diff.bak'
WITH
    DIFFERENTIAL,
    NAME = N'YourDatabaseName‑Differential Backup',
    COMPRESSION,
    STATS = 10,
    DESCRIPTION = N'前回正常完了した完全バックアップ以降の累積データ変更';
GO

T‑SQLはエンタープライズ規模の管理に必要な柔軟性を提供します。さらに高度な自動化でプロセスを簡素化したい場合、専用ツールがより効率的な手段となります。

方法3:i2BackupによるSQL Server差分バックアップの高度化

手動操作やT‑SQLスクリプトはデータベース保護の基礎となりますが、企業環境で複数のインスタンスを横断して管理すると作業が複雑になります。ワークフローを簡略化しデータセキュリティを高めたい管理者向けに、i2Backupは従来のバックアップスクリプトに代わるプロフェッショナルソリューションです。

SQL Server向けi2Backupの主なメリット

  • 一元化された簡易管理:サーバーごとに個別スクリプトを保守する代わりに、集中管理ダッシュボードからすべてのバックアップ・リカバリ作業を管理できます。複雑なコードを記述せず数クリックでバックアップ設定が可能です。
  • ポリシー駆動型自動化:バックアップポリシーと保持ルールを定義すると、i2Backupが自動でタスクを実行し古いバックアップをクリーンアップし、ストレージを最適な状態に保ちます。
  • 高度なセキュリティとコンプライアンス:ランサムウェアなどの脅威に対応するため、データ転送時のAES暗号化とイミュータブルバックアップに対応。バックアップデータが権限のないユーザーによって改変・削除されることを防ぎます。
  • 柔軟な保存先:SQL Serverデータベースをローカルドライブ、重複排除ストレージ、オブジェクトストレージなど多様な環境へ保存可能。パフォーマンスと長期保存コストのバランスを調整できます。
60日間無料トライアル
安全なダウンロード

単一の物理サーバーから複雑なクラウド環境まで、i2Backupのような自動化ソリューションは現代の企業データ保護に必要な高い拡張性とセキュリティを提供します。

SQL Serverにおける差分バックアップのリストア方法

バックアップ作成は作業の半分に過ぎず、最終的な目的は正常なリカバリです。SQL Server差分バックアップのリストアには「2つのファイルのルール」があります。差分バックアップは累積型のため、データベースを復旧させるにはベースの完全バックアップと最新の差分ファイルの2つだけをリストアすればよいです。

各手法を見る前に重要なルールがあります。NORECOVERY状態です。最初の完全バックアップをリストアする際、後続の差分データを適用できるようデータベースを「リストア中」の状態に維持する必要があります。

前述の3つの手法によるリストア手順を説明します。

方法1:SSMS GUIによるリストア

SSMSはバックアップ履歴を自動的に読み取りリストアチェーンを組み立てるため、作業が非常にスムーズです。

  1. SSMSにて復旧対象のデータベースを右クリックし、タスクにカーソルを合わせ、リストアデータベース…をクリックします。
  2. [全般]ページでタイムラインを選択し特定時点を指定するか、「リストアするバックアップセット」欄で最新の完全バックアップと差分バックアップにチェックを入れます。
  3. [オプション]ページにて(必要な場合)既存のデータベースを上書きするにチェックを入れます。
  4. OKをクリックします。SSMSが自動的に完全バックアップをNORECOVERYでリストアした後、差分バックアップをRECOVERYで適用しデータベースをオンラインにします。

Database‑Tasks‑Restore‑Database in SSMS GUI to restore the backuped database

方法2:T‑SQLによるリストア

スクリプトを使用する環境では、T‑SQLによる手動リストアで完全な制御が可能です。コマンドを順次実行します。

-- データベースが消失した状況を想定、完全バックアップをNORECOVERYでリストアし
-- 後続リストア操作を受け付けられるようにする
RESTORE DATABASE [YourDatabaseName]
   FROM YourDatabaseName_1
   WITH NORECOVERY;
GO
-- 次に差分バックアップをリストア
RESTORE DATABASE [YourDatabaseName]
   FROM YourDatabaseName_1
   WITH FILE = 2,
   RECOVERY;
GO

方法3:i2Backupによる高度なリストア

手動のリストア手法も有効ですが、i2Backupのようなエンタープライズ向けソリューションは複雑なリカバリシナリオに対する追加の柔軟性を備えています。リストアに必要な手順のシーケンスを自動化し、多様なデータ保護ニーズに対応する専用機能を提供します。

i2Backupは下記の機能によりリストアプロセスを強化します。

  • ポイントインタイムリカバリ:周期的なログバックアップと複数のリストアポイントを活用し、データベースを特定時点の状態に復元可能。誤った削除やデータ破損の発生直前まで巻き戻す際に有効です。
  • ファイルレベルリカバリ:データセット全体や仮想マシンをまるごとリストアせず、特定のファイル、フォルダ、データベースエントリーだけを復元できます。一部のデータだけが必要な場合、大幅な時間短縮が可能です。
  • 任意の場所へリストア:元の保存先だけでなく、新しい仮想マシン、物理サーバー、別のデータベースホストへバックアップをリストア可能。マイグレーション、テスト、待機環境での災害復旧に役立ちます。
  • テープライブラリ連携:長期保存にテープを使用する環境向け、非構造化データをテープライブラリへ直接バックアップし、必要時にテープから直接リストアできます。アーカイブデータを確実に取得する手段として利用できます。

参考資料:SQL Server差分バックアップのベストプラクティス

信頼性と効率性の高いバックアップ戦略を構築するため、実践的なベストプラクティスを示します。災害復旧フレームワーク全体に組み込み保護レベルを最大化してください。
  • 最新の完全バックアップを差分の基点とする:差分ファイルの肥大化を防ぐため、週次で完全バックアップ(ベースライン)を実行し、RESTORE HEADERONLYで完全バックアップの成功を検証します。基幹データベースではポイントインタイムリカバリのためトランザクションログバックアップと組み合わせてください。
  • 圧縮を利用しストレージを削減:Standard Edition以降ではスクリプトにCOMPRESSIONパラメータを追加します。圧縮レベルとリストア速度のバランスを取り、重複排除ストレージを併用するとさらに効率が向上します。
  • 明確な保持ポリシーを設定:新しい完全バックアップの検証完了後、古い差分バックアップを削除します。基幹DBは14‑30日、非基幹DBは7‑10日を目安に保持期間を定め、自動処理で人的ミスを回避します。
  • 定期的にリストア検証を実施:非基幹システムは月次、基幹システムは四半期に1回、完全バックアップ+最新差分をテスト環境へリストアし検証します。完全バックアップはNORECOVERY、差分はRECOVERYを使用し、手順をチーム向けに文書化します。
  • バックアップを保護する:転送時・保存時にバックアップを暗号化し、基幹の差分バックアップにはイミュータブルバックアップを適用し改ざん・削除を防止します。

まとめ

SQL Server差分バックアップの作成は、データ安全性とストレージ効率を両立させたいDBAやIT技術者にとって重要な工程です。前回の完全バックアップ以降の変更分だけを取得することで、バックアップ時間を大幅に短縮し、リストアプロセスも簡素化できます。

最後の注意点として、ベースとなる完全バックアップが正常であることを確認し、バックアップを定期的に検証し、.bakのような分かりやすい拡張子を使用しファイルを整理してください。

最良のバックアップ戦略とは、検証済みで自動化され、必要なときに確実に動作するものです。現在のインフラに適した手法から始め、データ量の増加に合わせてツールも進化させましょう。

概要は準備中です

関連記事

SQL Server Management Studioでデータベースをバックアップする方法
このガイドでは、SQL Server Management Studio(SSMS)におけるデータベースのバックアップ手順を詳しく解説しています。GUIによる手動操作、カスタムT‑SQLスクリプト、自動化ソリューション、さらにi2Backupによるエンタープライズ向けの高度な運用方法を扱っています。
記事を読む
[5つの方法]vCenter「No Healthy Upstream」503エラーを修復する
vCenter「503 No healthy upstream」エラーに遭遇していませんか。本技術ガイドでは、証明書期限切れからディスク容量枯渇まで代表的な5つの根本原因を解説し、vSphereサービスを復旧して当該エラーを解消するためのCLIによる手順を紹介します。
記事を読む
2026 年 SQL Server トランザクションログバックアップ ベストプラクティス
本記事でトランザクションログバックアップのベストプラクティスを習得できます。また、SSMSおよびプロ向けデータベースバックアップソリューションを利用したSQL Serverトランザクションログの具体的なバックアップ手順を紹介します。
記事を読む
SQL Server レプリケーション:種類・アーキテクチャ・ベストプラクティス
SQL Server レプリケーションは、システム間のデータ同期を実現し、高可用性、負荷分散、データ配信を支えます。本ガイドでは主要なレプリケーション種別と設定方法を解説します。続いて、超低遅延で簡単に SQL Server のレプリケーションを構築可能なリアルタイムデータベースレプリケーション製品 i2Stream を紹介します。
記事を読む
目次:
最新情報を購読
最新のインサイト、ニュース、限定コンテンツをお届けします。いつでも配信解除が可能です。
購読する
ビジネスデータのセキュリティ強化を始めませんか?
60日間の無料トライアルまたはデモで、Info2softが企業データをどのように保護するかをご確認ください。
フォームにご記入の上、送信してください。担当者より追ってご連絡いたします。
このフォームを送信することにより、 プライバシー通知を読み、同意したことを確認します。
{{ isSubmitting ? '送信中...' : '送信する' }}