SQLデータベースのバックアップと復旧手法

Microsoft SQL Server は、リレーショナルデータベース内のデータを操作したり、データとやり取りしたりするために使用されるプロフェッショナルな管理システムです。多くの組織において、データベースは通常、IT インフラストラクチャやビジネスプロジェクトにおいて極めて重要な構成要素となっています。そのため、重要なサービスのデータ損失やダウンタイムを防ぐためには、SQL データベースのバックアップが不可欠です。

このブログ記事では、ネイティブツールを含むさまざまな方法を用いて Microsoft SQL Server をバックアップし、その後データベースデータを復元する方法について解説します。

Microsoft 365 データのバックアップ

Microsoft 365 データのバックアップ

NAKIVOソリューションを活用して、Exchange Online、Teams、OneDrive、SharePoint Online内のMicrosoft 365データをバックアップし、ワークフローを中断することなく、ダウンタイムゼロを実現しましょう。

SQL Server におけるバックアップの種類

Microsoft SQL Server において、バックアップはデータを保護し、データ損失、ハードウェア障害、その他の災害が発生した場合に情報を確実に復元できるようにするために不可欠です。SQL Server では、それぞれ特定の目的を果たすいくつかの種類のバックアップがサポートされています。MS SQL Server の主なバックアップの種類は次のとおりです。

  • 完全バックアップ
  • 増分バックアップ
  • トランザクション・ログのバックアップ
  • ファイルのバックアップ
  • コピー専用のバックアップ

完全バックアップ

SQL Serverの完全バックアップは、MS SQLデータベース全体のコピーを作成します。これは、リレーショナルデータベース内のすべてのオブジェクトとデータが含まれるため、利用可能なバックアップ方式の中で最もシンプルでわかりやすいものです。その他の種類のMicrosoft SQL Serverバックアップでは、この完全バックアップを基盤として、あらゆる種類のバックアップが行われます。

SQLの完全バックアップとは、テーブル、プロシージャ、関数、ビュー、インデックスなど、すべてのデータベース要素を含む完全なコピーを指します。さらに、トランザクションログの一部も含まれます。これにより、データベースの復元が簡素化され、バックアップ時点の状態に正確に復元されることが保証されます。

このアプローチでは、データベースの内容がすべて1つのバックアップに収められているため、最もシンプルな形式のデータベース復元が可能になります。

SQL Serverの完全バックアップの主な特徴は次のとおりです:

  • 完全バックアップでは、すべてのデータやオブジェクトを含め、データベース全体がバックアップされます。
  • これは最も包括的なバックアップ方式であり、他のバックアップ方式の基礎となっています。
  • データベースを完全に復元するには、フルバックアップが不可欠です。

増分バックアップ

SQL Server の差分バックアップは、フルバックアップを起点として、前回のフルバックアップ以降に変更されたデータベースエクステントのデータを選択的に取得します。この種類のバックアップには、スキーマオブジェクト、ログファイル、その他のデータへの変更が含まれており、サーバーの変更を包括的にバックアップしつつ、時間とストレージの効率を最適化します。差分バックアップでは、変更されたエクステントをマークするために特別なフラグが使用されます。

差分データベース・バックアップは、前回の完全バックアップ以降に発生した変更の累積を表しており、最近のトランザクション量に応じて、バックアップサイズが小さくなることもあれば、かなり大きくなることもあります。

差分バックアップはすべての要素を含んでいないため、その実行は通常、完全バックアップよりも高速です。差分データベース・バックアップは、作成時点での変更されたデータベース・オブジェクトの状態をキャプチャするため、頻繁に更新されるデータベースに対して一連の差分バックアップを作成する場合、その後の各バックアップで異なるデータが反映されます。

これらのバックアップのサイズが大きくなるにつれて、差分バックアップの復元には、リカバリに必要な時間が著しく長くなる可能性があります。したがって、事前に定義された間隔で定期的に新しい完全バックアップを実行し、データのための新しい差分ベースを確立することをお勧めします。

要約すると、SQL Serverの差分バックアップの主な特徴は次のとおりです:

  • 差分バックアップでは、前回の完全バックアップ以降にデータベースに加えられた変更のみが取得されます。
  • これには、前回の差分バックアップ以降に行われた変更だけでなく、前回の完全バックアップ以降にデータベースで行われたすべての変更が含まれます。
  • 増分バックアップを利用することで、フルバックアップのみからの復元と比較して、データベースの復元に要する時間を短縮できます。

詳細はこちら フルバックアップ、差分バックアップ、増分バックアップの各タイプ それらの違いをより深く理解するために。

トランザクションログのバックアップ

Microsoft SQL Server におけるトランザクション・ログのバックアップは、前回のトランザクション・ログ・バックアップ以降に発生したすべてのトランザクションを含み、データベースを特定の時点に復元することを可能にします。その名称が示す通り、ログ・バックアップはトランザクション・ログのバックアップに重点を置いており、フル回復モデルまたはバルクログ回復モデルにのみ適用されます。トランザクション・ログ・ファイルには、データベース内のデータ変更の履歴を記録した一連のログが保持されています。トランザクション・ログ・バックアップには、前回のトランザクション・ログ・バックアップでカバーされなかったすべてのログ・レコードが含まれます。

本質的に、トランザクション・ログ・バックアップはデータベースに加えられたすべての変更を網羅しており、特にフルまたはバルクログ回復モデルを使用してログを切り捨てる際に必要となります。連続するトランザクション・ログ・バックアップではデータが重複せず、トランザクション・ログ・バックアップの実行中もパフォーマンスに影響がないことを知っておくことが重要です。したがって、ワークロードが重い期間中でもこの操作を実行することができます。

Microsoft SQL Server におけるトランザクション・ログ・バックアップの主な機能は次のとおりです。

  • トランザクション・ログのバックアップでは、前回のログバックアップ以降に行われたトランザクション・ログの変更内容が記録されます。
  • これらは特定時点への復旧を可能にし、データの一貫性を維持するために不可欠です。
  • フルバックアップおよび差分バックアップと組み合わせて使用し、包括的なバックアップ戦略を構築します。

ファイルおよびファイルグループのバックアップ

ファイルバックアップでは、データベース全体をバックアップする必要がなく、各ファイルを個別にバックアップすることができます。これは、データベースに複数のデータファイルが設定されている場合に適用されます。

このバックアップ方式が適している状況の一つとして、バックアップに関して特別な配慮が必要な、極めて大容量のファイルを扱う場合が挙げられます。ファイルバックアップの実行は、T-SQL または SSMS のいずれかを使用して行うことができます。ただし、データベースが主に単一のデータファイルで構成されている場合は、このオプションは適していない可能性があります。

MS SQLのファイル バックアップの主な機能は次のとおりです。

  • この種類のバックアップでは、個々のデータベース・ファイルやファイルグループをバックアップすることができます。
  • データベースの特定の部分だけを選択的にバックアップしたい場合に便利です。
  • また、ファイルまたはファイルグループのバックアップを使用して、部分的な復元を行うこともできます。

コピー専用のバックアップ

MS SQL Server のコピーのみバックアップは、従来のバックアップシーケンスとは独立して動作し、元のバックアップ、バックアップシーケンス、または復元プロセスに影響を与えることなくバックアップを作成します。コピーのみバックアップは、プライマリデータセットに影響を与えることなくバックアップ対象情報の変更を試すのに役立ち、データベースの全体的なバックアップおよび復元プロトコルを妨げることなくバックアップを作成できます。なお、コピーのみバックアップ(完全バックアップの場合)は、差分バックアップの作成には使用できません。

コピーオンリーバックアップの主な利点は、通常のバックアップシーケンスや標準的な復元プロセスに支障をきたさない点にあります。通常、ほとんどのMS SQL Serverのバックアップ方法は、データベースや復元手順に影響を与えます。コピーオンリーバックアップを使用することで、ITチームは元のバックアップや復元プロセスとは独立したバックアップを作成できます。コピーオンリーバックアップでは、バックアップ履歴を一元的に記録できない点に注意が必要です。

フルバックアップにコピーオンリーを使用しない限り、その後の差分バックアップに影響が出る可能性があります。フルバックアップとフルコピーオンリーの主な違いは、後者が差分チェーンを断ち切らないという点にあります。重要な点として、どちらの方法もログファイルを切り捨てないため、ログチェーンを中断することはありません。

フルおよびバルクログ回復モデルに適用されるログバックアップに関しては、その目的は 書き込み専用ログバックアップ これは、既存のログアーカイブ時点をキャプチャするためのものです。あまり頻繁には使用されませんが、コピーオンリーのログバックアップは、特定の状況においてオンライン復元を行う際に役立つ場合があります。

MS SQLのコピーオンリーバックアップの主な機能は次のとおりです:

  • "コピーのみ"のバックアップは、通常のバックアップ手順に影響を与えません。これは、通常のバックアップチェーンとは独立して実行される追加のバックアップです。
  • 既存のバックアップ戦略を乱すことなく、特定の目的のためのバックアップを作成するのに役立ちます。

これらの Microsoft SQL Server のバックアップ方式を組み合わせて、SQL Server 環境の具体的な要件を満たす包括的なバックアップ戦略を構築することができます。定期的に テストおよび検証 バックアップと復元の手順も、堅牢なシステムの不可欠な要素です データ保護戦略.

SQLデータベースのバックアップ方法

Microsoftの標準ツールを使用してMS SQLデータベースのバックアップを作成するには、いくつかの方法があります:

  • MS SQL Server Management Studio (SSMS) これは、使いやすいグラフィカルインターフェースを備えた無料のネイティブツールです。SSMSは、SQL Serverがインストールされているサーバーまたはリモートマシンに手動でインストールする必要があります。
  • Transaction SQL (T-SQL) これらのコマンドは、データベースのバックアップや復元などの操作を含め、MS SQL Server を管理するために使用されます。
  • sqlcmd これは、Windows コマンドプロンプト (cmd) で使用できるユーティリティであり、SQL Server 上で T-SQL コマンドを実行することができます。
  • PowerShell は、Windows 上の高度なコマンドライン環境であり、をインストールした後、SQL Server の管理をサポートします。 SqlServer PowerShell モジュール。

MS SQL Server Management Studio でのバックアップ

SQL Server データベースのバックアップを作成するには、次の手順を実行します。

  1. MS SQL Server Management Studio(SSMS)を開き、管理者アカウントを使用してSSMSにログインします。
  2. In Object Explorer、SSMS ウィンドウの右側にある、[ ] へ移動して、 Databases そして、バックアップしたいデータベース名を右クリックします。ここでは AdventureWorks2022 この例では、データベースとして。
  3. コンテキストメニューで、[ ] をクリックします。 Tasks > Backup.

    MS SQL database backup in SSMS

  4. パラメータを Back Up Database ウィンドウ。
    • 出典:
      • データベース: AdventureWorks2022
      • バックアップの種類:選択 Full または Differential (まず完全バックアップを作成する必要があります)。
      • バックアップコンポーネント: Database
    • 目的地:
      • バックアップ先: Disk またはURL(ディスクを選択)
    • の選択を解除する Copy-only コピーのみのバックアップを作成したくない場合は、"バックアップ"チェックボックスをオフにしてください。

    : 別の種類のバックアップを作成したい場合は、設定を編集できます。

    デフォルトでは、MS SQL データベースサーバーのプロパティで設定されたパスが選択されます。このデフォルトのパスは、グローバル設定で変更できます。オブジェクトエクスプローラーで MS SQL サーバー名を右クリックし、[ Properties, を選択して Database Settings ページ、および表示・編集 Database default locations.

  5. クリック Add 現在のMS SQLバックアップジョブの保存先をカスタムで指定し、[選択]をクリックします。 Delete それに応じて不要な場所を削除します。そこで、次を選択します。 "D:MS SQL Backup DBAdventureWorks" この例では。

    注記: バックアップを保存する際は、元のデータベースが配置されているディスクとは別のディスクを使用してください。以下の手順に従うことをお勧めします。 3-2-1バックアップルール 堅牢なデータ保護戦略を実現するために。また、"メディアオプション"および"バックアップオプション"で、上書きの動作や圧縮設定を適宜構成することもできます。"スクリプト"ボタンをクリックすると、選択した設定に基づいて T-SQL スクリプトが生成されます。

    Configuring MS SQL database backup in SSMS

  6. バックアップファイル名を入力することをお忘れなく。なお、増分バックアップでは .dif ファイル拡張子。

    Selecting the destination location for a database backup

  7. ヒット OK 各ウィンドウで、次へ進むには。

すべてが正しい場合、次のようなメッセージが表示されるはずです: The backup of database "AdventureWorks2022" completed successfully.

SSMS における Microsoft SQL のバックアップスケジュール

MS SQL データベースのバックアップを自動化し、バックアップジョブをスケジュール設定することができます。データベースのバックアップをスケジュール設定するには、Microsoft SQL Server Management Studio で以下の手順を実行してください。

  1. In Object Explorer, 次のページへ Management, 右クリック Maintenance Plans、そしてクリックして New Maintenance Plan.
  2. 新しい保守計画の名前を入力してください。たとえば、 MS SQL Backup Plan. ヒット OK.

    Creating a maintenance plan to configure the MS SQL database backup schedule

  3. をクリックして Calendar アイコン(サブプランのスケジュール)をクリックして、MS SQLのバックアップスケジュールを設定します。

    Opening a calendar to schedule a backup task in SSMS

  4. 必要なMS SQLのバックアップスケジュール設定を選択してください:
    • スケジュールタイプ:定期(デフォルト)
    • 周波数
    • 1日あたりの頻度
    • 所要時間

    ヒット OK 設定を保存するには。

    Creating a new database backup job schedule in MS SQL Management Studio

  5. クリック ToolBox SSMS インターフェースの左上隅。

    Opening the Toolbox in MS SQL Server Management Studio

  6. ドラッグ Back Up Database Task 出典: Toolbox の空いている領域に MS SQL Backup Plan [Design] タブ。
  7. ダブルクリック Back Up Database Task 先ほど、その中にドラッグ&ドロップした MS SQL Backup Plan [Design] タブ。

    Drag and drop the Back Up Database Task from the Toolbox

  8. その Back Up Database Task オプションウィンドウが開きます。接続タイプ(例:)を選択してください。 Local server connection.
  9. 必要な設定を General, Destination, Options タブ:
    • バックアップの種類: Full または Differential
    • データベース: Specific databases, all databases, system databases、または All user databases.
    • バックアップ先: Disk

    Configure a scheduled MS SQL database backup task

    のオプション Destination そして Options 以下のスクリーンショットにはタブが表示されています。

    ヒット OK スケジュールされたMS SQLデータベースのバックアップタスクの設定を保存するには。

    The Destination and Options tabs

  10. クリックすると View T-SQL SSMSのグラフィカルユーザーインターフェースで作成したタスクを実行するために、T-SQLで使用できるコマンドを確認するには。

    Viewing a T-SQL database backup script generated with a scheduled task

  11. 報道 Ctrl+S SSMSで変更を保存するには。
  12. 報道 F5 SSMSに表示されている項目を更新するには。
  13. [移動] SQL Server Agent > Jobs オブジェクトエクスプローラーで。次のファイルを開くことができます。 Job Activity Monitor そして、 MS SQL Backup Plan.Sublan ジョブ一覧で。

    Viewing an MS SQL database backup status in the Job activity monitor

  14. 右クリックしてページを更新してください Jobs または別のオブジェクトを選択してクリックすると Refresh. オブジェクトエクスプローラーで、次の場所に移動します。 SQL Server Agent > Jobs, 選択 MS SQL Backup Plan.Subplan, このオブジェクトを右クリックし、[ ] をクリックします。 Start Job at Step 今すぐスケジュールされたバックアップジョブを開始するには。

    Starting an MS SQL backup job immediately

    あるいは、次の手順に従って、MS SQLのバックアップタスクをスケジュール設定することもできます。 Object Explorer > Management > New Maintenance Plan. 選択肢は同じですが、すべての手順を踏む必要があります。

T-SQL による MS SQL のバックアップ

T-SQL を使用して MS SQL データベースをバックアップするには、バックアップの種類ごとに以下の主要なコマンドを使用します。

  • 完全バックアップ:

    BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Full.bak';

    置換 YourDatabaseName データベース名を指定し、バックアップファイルの保存先パスを指定してください(システムディスク(C:)や、元のデータベースが保存されているディスクではなく、別のディスクを使用してください)。

  • 増分バックアップ:

    BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Diff.bak' WITH DIFFERENTIAL;

    増分バックアップを作成する前に、必ず完全バックアップを作成しておいてください。

  • トランザクション・ログのバックアップ:

    BACKUP LOG YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Log.bak';

    トランザクション・ログのバックアップは、特定時点への復旧やデータの一貫性を維持するために不可欠です。

  • ファイルのバックアップ:

    BACKUP DATABASE YourDatabaseName FILE = 'LogicalFileName' TO DISK = 'C:BackupYourDatabaseName_File.bak';

    置換 LogicalFileName バックアップしたいファイルまたはファイルグループの論理名を入力してください。

  • コピーのみのバックアップ:

    BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_CopyOnly.bak' WITH COPY_ONLY;

    コピーのみのバックアップは、通常のバックアップ手順に支障をきたしません。

上記の例で、基本的なコマンドについて説明しました。次のコマンドを使用できます。 追加のパラメータ T-SQL コマンドで高度なバックアップ設定を調整するには。以下に、圧縮を含む高度なオプションを使用して Microsoft SQL Server でバックアップを実行するための T-SQL スクリプトの例をいくつか示します。

  • 圧縮付きフルバックアップ:

    -- Full Backup with Compression

    BACKUP DATABASE YourDatabaseName

    TO DISK = 'C:BackupYourDatabaseName_Full.bak'

    WITH COMPRESSION, INIT;

    場所:

    YourDatabaseName ここには、ご自身のデータベース名を指定してください。

    C:BackupYourDatabaseName_Full.bak これは、ご自身の環境に合わせて変更する必要があるバックアップファイルのパスとファイル名です。

    WITH COMPRESSION バックアップのサイズを縮小するために圧縮を有効にするオプションです。

    INIT 新しいメディアセットを初期化するオプションです。

    -- コメントの開始を示す

  • さまざまなオプションを備えた完全バックアップ:

    -- Full Backup with various options

    BACKUP DATABASE YourDatabaseName

    TO DISK = 'C:BackupYourDatabaseName_Full.bak'

    WITH

     FORMAT, – 既存のメディアセットを上書きします

     NAME = 'FullBackup', – バックアップセット名を指定します

     STATS = 10, – 進捗が10パーセントごとにメッセージを表示します

     CHECKSUM, – バックアップの整合性を確認する

     COMPRESSION, – 圧縮を有効にします

     INIT; – 新しいメディアセットを初期化します

  • トランザクション・ログのバックアップ:

    -- Transaction Log Backup

    BACKUP LOG YourDatabaseName

    TO DISK = 'C:BackupYourDatabaseName_LogBackup.trn'

    WITH

     FORMAT, – 既存のメディアセットを上書きします

     NAME = 'LogBackup', – バックアップセット名を指定します

     STATS = 10, – 進捗が10%ごとにメッセージを表示する

     INIT; – 新しいメディアセットを初期化します

  • 複数のファイルへのバックアップ:

    -- Full Backup to Multiple Files

    BACKUP DATABASE YourDatabaseName

    TO

    DISK = 'C:BackupYourDatabaseName_Full1.bak',

    DISK = 'C:BackupYourDatabaseName_Full2.bak'

    WITH INIT;

これらの例では、メディアセットのフォーマット設定、バックアップセット名の指定、進行状況の統計情報の表示、チェックサムの検証など、さまざまな高度なオプションを紹介しています。これらのサンプルスクリプトは、具体的な要件や好みに応じてカスタマイズすることができます。

MS SQL テーブルのバックアップ

Microsoft SQL Server で特定のテーブルをバックアップするには、次の Generate Scripts MS SQL Server Management Studio (SSMS) の機能を使用して、テーブルのスキーマとデータのバックアップスクリプトを作成するか、または bcp (一括コピープログラム)ユーティリティ。どちらの方法についても、以下の手順に従ってください。

方法 1: SSMS でスクリプトを生成する

MS SQL データベースの特定のテーブルの T-SQL スクリプトを生成し、そのテーブルをバックアップするには、以下の手順を実行してください。

  1. MS SQL Server Management Studio を起動し、MS SQL Server インスタンスに接続します。
  2. [データベース] 内のデータベースに移動します Object Explorer データベース名を右クリックします。クリックします Tasks > Generate Scripts コンテキストメニュー内で。

    Generating a T-SQL script

  3. ""にあるヒントをご覧ください。 Introduction のステップ Generate Scripts ウィザード。以下の項目を選択できます。 Do not show this page again チェックボックス。クリック Next ウィザードの各ステップで、続行するには。
  4. その Choose Objects ステップ、クリック Select specific database objects. バックアップするテーブルを選択します。この例では、 Person.Address バックアップ対象のデータベースのテーブル。

    Selecting an MS SQL table to back up

  5. スクリプトの保存方法を、 Set Scripting Options 手順。選択 Save as script file そして、[選択]をクリックします Single script file. 該当するフォルダに、バックアップのファイル名を入力します。クリックして フォルダを選択し、MS SQL テーブルのバックアップ名を入力します。

    Setting the scripting options

  6. クリック Advanced そして、開いた Advanced Scripting Options ウィンドウ、設定 Types of data to script = Schema and data. ヒット OK 設定を保存してウィンドウを閉じます。その後、ウィザードの次の手順に進んでください。

    Configuring advanced scripting options

  7. 設定の概要を確認し、データベーステーブルのバックアップの最終ステップに進んでください。

    The configuration summary to generate a table backup script

  8. その Save Scripts この手順では、バックアップの進行状況を確認できます。MS SQL データベースのバックアップ処理が完了するまでお待ちください。

    Saving a script for a table backup

  9. Windows エクスプローラーを開き、選択した保存先ディレクトリ内で作成された MS SQL テーブルのバックアップファイルを探します。この例では、 MS_SQL_Table_Backup.sql ファイル。

    A script for MS SQL table backup is saved as an sql file

  10. をダブルクリックして MS_SQL_Table_Backup.sql このSQLスクリプトファイルを保存し、SSMSで開いてください。環境の要件に合わせて、1行目のデータベース名を変更してください。

    A table backup script

  11. クリック Execute MS SQLのテーブルバックアップスクリプトを実行するには。

方法 2: bcp (Bulk Copy Program) を使用する

以下のワークフローを使用して、MS SQLテーブルのバックアップを実行します。 bcp:

  1. コマンドプロンプトを開きます( Win+R, 入力 cmd そして、クリックして Enter) を、管理者権限で Windows 上で実行します。
  2. [ ] に移動します。 bcp MS SQL Server のインストールディレクトリにあるユーティリティの実行ファイル(MS SQL Server 2022 の場合は 160 が使用されます)。例:

    cd C:Program FilesMicrosoft SQL Server160ToolsBinn

  3. を実行する bcp テーブルのデータをファイルに書き出すためのコマンド。以下を置き換えてください <DatabaseName>, <SchemaName>, <TableName>、および <OutputFilePath> 実際のデータベース、スキーマ、テーブル、および希望の出力ファイルのパスに置き換えてください。

    bcp .. out -c -S -T

    場所:

    -c – コピーする文字データ(非Unicode)を指定します。

    -S – サーバー名を指定します。

    -T – 信頼された接続(Windows 認証)を使用します。

  4. エクスポートされたデータについては、指定された出力ファイルを確認してください。

SQL Server データベースを復元する方法

MS SQL データベースのバックアップに Microsoft のネイティブツールを使用する場合、これらのバックアップは通常、次の形式で保存されます。 .bak ファイル。開く方法については、 .bak ファイルについては、通常、Microsoft が提供する MS SQL Server データベース管理ツールである MS SQL Server Management Studio (SSMS) を使用する必要があります。このバックアップからデータを復元して、通常の状態に戻してください。そうして初めて、データを開くことができます。

注記: 以下の内容をコピーして backupname.bak ファイル、コピーしたファイルの名前を変更して backupname.bak ファイルを backupname.xls そして、 .xls バックアップのデータを閲覧する必要があるものの、現時点でMS SQL Serverがインストールされていない場合は、Microsoft Excelのファイルをご利用ください。このファイルをコピーしておけば、万が一問題が発生しても、メインのバックアップファイルが破損するのを防ぐことができます。

SSMS での MS SQL データベースの復元

データベースの復元を行うには必要な権限が必要であることに留意してください。また、MS SQL Server インスタンスは、 .bak ファイル。

MS SQL Server Management Studio でバックアップファイルから MS SQL Server データベースを復元するには、次の手順を実行します。

  1. 管理者アカウントを使用して、SSMSからMS SQL Serverにログインします。
  2. 右クリック Databases in Object Explorer そして、クリックして Restore Database コンテキストメニュー内で。

    How to restore an MS SQL database from a backup in MS SQL Management Studio

  3. その Restore Database ウィンドウで、[選択] をクリックします。 Device MS SQLデータベースを .bak ファイルを選択し、[ ボタンで、 .bak ファイル。

    How to open a .bak file to restore an MS SQL database in SSMS

  4. 選択 File バックアップメディアの種類として選択し、[実行]をクリックします Add.

    Adding a backup file from which a database must be restored

  5. バックアップファイルを探します。デフォルトでは、ウィンドウにデフォルトのバックアップディレクトリが表示されます。必要なディレクトリに移動し、バックアップファイルを選択してください。その AdventureWorks2022.bak この例では、ファイルが選択されています。

    Selecting an MS SQL database backup file with the bak extension

  6. クリック OK 設定を保存して、元の画面に戻るには、2回タップしてください。 Restore Database ウィンドウ。SSMS には、復元操作の進行状況が表示されます。このプロセスは、 Restore Progress ウィンドウ。

    Ready to restore a database in SSMS

すべてが正しい場合、データベースの復元後に次のようなメッセージが表示されるはずです:

Database 'AdventureWorks2022' restored successfully.

T-SQL による MS SQL データベースの復元

T-SQL コマンドを使用して、データベースを .bak ファイルは、以下の RESTORE DATABASE ステートメント。これは、SSMSが利用できないスクリプトやシナリオで役立つ場合があります。T-SQLでMS SQLデータベースを復元するには、以下のコマンドを参照してください。

  • データベースの完全復元:

    RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Full.bak' WITH REPLACE;

    置換 YourDatabaseName データベース名を指定し、完全バックアップファイルのパスを指定してください。その WITH REPLACE 既存のデータベースを上書きする場合は、このオプションが必要です。

  • 差分データベースの復元:

    RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Diff.bak' WITH NORECOVERY;

    差分バックアップを復元した後、データベースを最新の時点まで復旧させるために、追加のトランザクション・ログ・バックアップを復元する必要がある場合があります。

    • トランザクション ログのバックアップを復元するには、次の T-SQL コマンドを使用します。

      RESTORE LOG YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Log.bak' WITH NORECOVERY;

    • トランザクション・ログのバックアップごとに、このコマンドを順番に繰り返します。最後に、次のコマンドを実行してデータベースをオンライン状態に戻します:

      RESTORE DATABASE YourDatabaseName WITH RECOVERY;

    • トランザクション ログのバックアップが正しい順序で適用されるようにしてください。
  • ファイルまたはファイルグループの復元:

    RESTORE DATABASE YourDatabaseName FILE = 'LogicalFileName' FROM DISK = 'C:BackupYourDatabaseName_File.bak' WITH REPLACE;

    置換 LogicalFileName ファイルまたはファイルグループの論理名とともに。

  • コピーのみの復元:

    RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_CopyOnly.bak' WITH REPLACE, COPY_ONLY;

    その COPY_ONLY コピーのみの復元を行うには、このオプションが必要です。

NAKIVO を使用した Microsoft SQL のバックアップと復旧

NAKIVO Backup & Replication これは、MS SQLデータベースをホストするマシンのバックアップをサポートする、汎用的なデータ保護ソリューションです。物理マシンまたは仮想マシンとして展開されたWindowsマシンをバックアップすると、Microsoft SQLのバックアップが作成されます。これにより、サーバー上で実行されているMicrosoft SQLデータベースを含むサーバー全体を保護することができます。NAKIVOのソリューションでは、物理マシンやVM全体、特定のMicrosoft SQLデータベース、あるいはデータベースオブジェクトを復元することが可能です。このアプローチにより、復元プロセスが高速化され、復元時の柔軟性が高まります。

NAKIVOソリューションによるMicrosoft SQL Serverバックアップの利点は、増分バックアップ方式を利用できることです。増分バックアップにより、バックアップ処理が高速化され、ストレージ容量を節約できます。圧縮、暗号化、およびSQLログの切り捨て技術により、ストレージ容量の活用がより合理化されるだけでなく、バックアップ処理も高速かつ安全に行われます。バックアップジョブはスケジュール設定され、自動化されています。

SQLをホストするサーバーのバックアップ:NAKIVOを使った手順解説

MS SQL データベースがインストールされている Windows マシンをバックアップするには、以下の手順を実行してください。 NAKIVO Backup & Replication:

  1. のWebインターフェースを開きます NAKIVO Backup & Replication Webブラウザで。
  2. Microsoft SQL Server がインストールされた必要な物理 Windows サーバーまたは仮想マシンが、NAKIVO のインベントリに追加されていることを確認してください。追加するには、 物理マシン、VMware vCenter Server、ESXiホスト およびその他のアイテムをインベントリに追加する にアクセスして Settings > Inventory.

    に十分な空き容量があることを確認してください。 バックアップリポジトリ バックアップを保存するために。

    A machine with MS SQL Server is added to the inventory

  3. MS SQL Server がインストールされているマシンに対して、新しいバックアップジョブを作成します。NAKIVO を使用すれば、MS SQL Server が稼働中の状態でも、そのマシンをバックアップすることができます。[クリック] Jobs > + (新しいジョブを作成)し、必要なジョブの種類を選択します。この例では物理マシンをバックアップするため、以下を選択します。 Physical machine backup job.

    Creating a new backup job for MS SQL Server backup in the NAKIVO solution

  4. 新しいバックアップジョブウィザードの最初のステップで、MS SQL Server がインストールされているマシンを選択します。ここでは、MS SQL Server 2022 がインストールされている Windows Server 2022 を選択します。1 つのジョブで複数のマシンを選択することも可能です。クリックして Next ウィザードの各ステップで、次へ進むには。

    Selecting a machine running MS SQL Server to back up

  5. バックアップを保存するバックアップリポジトリを選択してください。ローカルのバックアップリポジトリまたはクラウド上のバックアップリポジトリを選択できます。"3-2-1"のバックアップルールに準拠するため、まずはローカルリポジトリを使用し、その後、クラウドや別のリポジトリにバックアップコピーを作成することをお勧めします。

    Selecting a backup repository to store backups

  6. スケジュールオプションを選択します。NAKIVOソリューションの最新バージョンでは、統合された スケジュールとデータ保持の方針. バックアップジョブ(MS SQLデータベースのバックアップジョブを含む)に対して、柔軟な保持ルールを設定できます。各スケジュールに名前を設定してください。

    Configuring a backup schedule for MS SQL Server

  7. バックアップジョブのオプションを設定します。ジョブ名(例:MS SQL Server バックアップジョブ 2022)を入力します。完全バックアップの設定を行います。デフォルトでは、増分バックアップと定期的な完全バックアップが併用されます。完全バックアップは Active full そして Synthetic full. クリック Finish または Finish & Run ジョブを直ちに実行するには。

    Configuring backup job options

  8. バックアップジョブが完了するまでお待ちください。

なお、 NAKIVO Backup & Replication 対応しています ログの切り捨て Microsoft SQL Server、Exchange Server、およびOracle Databaseについて、バックアップ後にソースサーバーのストレージ容量を節約するため。

NAKIVO を使用した SQL データベースの復元

MS SQL データベースの復元プロセスは、 NAKIVO Backup & Replication 手順は簡単です。物理マシンまたは仮想マシン全体を、データベースとともに復元することができます。あるいは、きめ細かな復元機能を利用して、データベースオブジェクト(データベース全体、テーブルなど)のみを復元することも可能です。

で、MS SQL データベースまたは特定のデータベースオブジェクトを復元するには、以下の手順を実行してください。 NAKIVO Backup & Replication:

  1. NAKIVOソリューションのWebインターフェースで、次の場所に移動します。 Jobs > Recover > Microsoft SQL Server objects.

    Starting to recover Microsoft SQL Server objects from a backup

  2. の最初のステップでは、 Object Recovery Wizard for Microsoft SQL Server、MS SQL Server データベースを含むマシンのバックアップを選択し、復元ポイントを選択してください。必ず Automatically locate application databases チェックボックスがオンになっています。クリックしてください Next 回復ウィザードの各ステップで、[次へ] をクリックして進めてください。

    Selecting a recovery point to recover MS SQL database objects

  3. リカバリサーバーを選択します。リカバリサーバーとしては、バックアップの作成元として使用された元のサーバー、または復元対象のデータベースが存在しない新しいマシンを指定できます。ここでは、データベースを復元するために元のサーバーを選択します。
    • リカバリサーバーの認証情報を入力し、[] をクリックします。 Test Connection.
    • 接続が正常に確立されたら、このサーバー上のSQLインスタンスを選択してください。

      Selecting a recovery server for an MS SQL database

    • その Objects 復元ウィザードのこのステップで、復元したいデータベースを選択します( .mdf ファイル)。

      Selecting a database file from a backup

      データベース全体を復元する必要がない場合は、[ > 左ペインのデータベース名の横にあるアイコンをクリックして、そのデータベースオブジェクトを展開し、復元する特定のデータベースオブジェクトを選択します。

      Selecting individual database objects to recover

  4. 次のものを定義する リカバリジョブのオプション 以下の選択肢から:

    復旧の範囲:

    • スキーマとデータを復元する
    • スキーマのみを復元する

    復旧タイプ:

    • 元の場所に復元する
    • 指定した場所に復元する
    • エクスポート

    上書き時の動作:

    • 該当するアイテムが存在する場合、復元されたアイテムの名前を変更する(デフォルト)
    • 該当する項目が存在する場合は、その項目をスキップする
    • その項目が存在する場合は、元の項目を上書きします

    Configuring MS SQL database recovery options in NAKIVO Backup & Replication

    ヒット Recover そして、選択したデータベースまたはデータベースオブジェクトが復旧するまで待ちます。

試してみてください NAKIVO Backup & Replication

試してみてください NAKIVO Backup & Replication

無料トライアルを利用して、本ソリューションのデータ保護機能をすべてお試しください。15日間無料。機能や容量に制限はありません。クレジットカードも不要です。

関連記事