カスタム検証スクリプト
Veeam Backup & Replicationは、次のカスタム検証スクリプトを使用してVMを検証できます。
Microsoft SQL Server Checkerスクリプト
仮想化されたMicrosoft SQL Serverを検証する場合は、SureBackupジョブ中にMicrosoft SQL Serverに対してMicrosoft SQL Server Checkerスクリプトを実行するようVeeam Backup & Replicationに指示できます。スクリプトは次の操作を順次実行します。
- Microsoft SQL Serverインスタンスへの接続。
- これらのインスタンス上のデータベースの列挙。
- USE SQL文を使用してデータベースに接続し、アベイラビリティを確認。
スクリプトは、バックアップサーバーのVeeam Backup & Replication製品フォルダーにあります。デフォルトのパスはC:\Program Files\Veeam\Backup and Replication\Backup\Veeam.Backup.SqlChecker.vbsです。
スクリプト実行のログイン情報
スクリプトを実行するために、Veeam Backup & ReplicationはMicrosoft SQL Serverに接続します。デフォルトでは、Veeam Backup & ReplicationはVeeam Backup Serviceの実行に使用されるアカウントを使用します。その他のアカウントでスクリプトを実行する必要がある場合は、このアカウントのログイン情報を指定できます。このスクリプトは、Microsoft Windows認証方法とSQL Server認証方法をサポートします。
Microsoft Windows認証モードの場合は、アプリケーショングループまたはSureBackupジョブの設定の[Credentials]タブで、アカウントのログイン情報を指定できます。
SQL Server認証モードの場合は、アカウントのログイン情報を引数としてスクリプトに渡す必要があります。そのためにはコマンドラインインターフェイスまたはUIを使用します。
コマンドラインを使用してログイン情報を渡すには、次のパラメータを使って、コマンドラインからスクリプトを実行します。
cscript Veeam.Backup.SqlChecker.vbs [logs folder] <sql server[\instance]> <username> <password> |
UIを使用してログイン情報を渡すには:
- アプリケーショングループまたはSureBackupジョブ設定で、カスタムスクリプトの使用を選択します。
- Microsoft SQL Server CheckerスクリプトデフォルトのパスはC:\Program Files\Veeam\Backup and Replication\Backup\Veeam.Backup.SqlChecker.vbsです。
- 「Arguments」フィールドにユーザー名とパスワードを指定します。
重要 |
Microsoft SQL Server認証モードを使用する場合、Microsoft SQL Serverがインストールされているマシンに接続するために、アカウントのログイン情報を指定する必要があることがあります。そのためには、アプリケーショングループまたはSureBackupジョブの設定の[Credentials]タブを使用します。 |
データベースの除外
デフォルトでは、Veeam Backup & ReplicationはMicrosoft SQL Serverのすべてのインスタンス上のすべてのデータベースを検証しますが、たとえば、任意のデータベースを検証から除外することができます。たとえば、vCenter Serverデータベース。インスタンスまたはデータベースを除外するには、テキストエディターでスクリプトを開き、[Settings]セクションを次のように編集する必要があります。
- 任意のデータベースを除外するには、スクリプトの'gDBsToExclude.Push "dbname"行をコメント解除し、除外するデータベースの名前を指定します。複数のデータベースを除外するには、データベースごとに個別の行を指定します。
gDBsToExclude.Push "dbname1" gDBsToExclude.Push "dbname2" |
- 任意のインスタンスを除外するには、スクリプトの'gInstancesToExclude.Push "instancename"行をコメント解除し、除外するインスタンスの名前を指定します。複数のインスタンスを除外するには、インスタンスごとに個別の行を指定します。
gInstancesToExclude.Push "instancename1" gInstancesToExclude.Push "instancename2" |
- デフォルトのインスタンスを除外するには、'gInstancesToExclude.Push "MSSQLSERVER"行をコメント解除します。
重要 |
インスタンス名とデータベース名では、大文字と小文字が区別されます。 |
ロギング
スクリプトが正常に完了したかどうかを明確にするために、Veeam Backup & ReplicationではSureBackupジョブ・セッションの統計で次の戻りコードを発行します。
- 0 — 正常にテストに合格しました。
- 1 — スクリプトのコマンドに使用されている構文が正しくありません。
- 2 - Veeam Backup & ReplicationはMicrosoft SQL Serverに接続できません。
- 3 — すべてのインスタンスがチェックから除外されました。
- 4 - Veeam Backup & Replicationがデータベースのリストを取得中に、エラーが発生しました。
- 5 — 不明なエラー
- 6 — 1つ以上のデータベースにアクセスできません。
スクリプト実行の結果は、次のパスで検索できるログファイルに書き込まれます:%programdata%\Veeam\Backup\<name of the job>\<VM name>_SQLChecker.log。必要に応じて、ログファイルの場所を変更できます。そのためには、アプリケーショングループまたはSureBackupジョブの設定において、ログファイルに%log_path%引数で新しいパスを渡します。
復元検証テストに加えて、Veeam Backup & Replicationではバックアップファイルの検証を実行できます。バックアップファイルの検証では、Veeam Backup & ReplicationはSureBackupジョブで検証されたVMのバックアップファイルに対してCRCチェックを実行します。このテストを使用して、アプリケーショングループのVMのバックアップファイルを検証することもできます。
バックアップファイルを検証するために、Veeam Backup & Replicationではチェックサムアルゴリズムを使用します。Veeam Backup & Replicationは、VMのバックアップファイルを作成するときに、バックアップファイル内のすべてのデータブロックのチェックサムを計算し、このデータをVMデータとともにバックアップファイルに保存します。バックアップファイルの検証テスト中、Veeam Backup & Replicationはバックアップファイルを解凍し、解凍したバックアップファイル内のデータブロックのチェックサムを再度計算して、最初のチェックサム値と比較します。結果が一致すれば、テストは合格です。
バックアップファイルの検証テストは、復元検証テストの後に開始されます。Veeam Backup & Replicationでは、SureBackupジョブのすべてのVMに対する「ライブ」検証をすべて完了すると、直ちにVMの公開を削除してバックアップファイルの検証テストを開始します。
バックアップファイル検証テストの結果は、SureBackupジョブセッションの状態に影響を与えます。検証テストは正常に完了したもののバックアップの検証に合格しなかった場合、Veeam Backup & ReplicationではSureBackupジョブセッションを[Failed]ステータスとしてマークします。