SQL サーバ(システムボリュームとデータベース)を完全にバックアップした後は、障害発生時のデータ損失から復旧することができます。
SQL サーバ(特に、そのマスター、モデル、および msdb システムデータベース)をバックアップするのに Retrospect オープンファイルバックアップアドオンを使用したバックアップから復元した場合は、以下の手順に従います。そうでない場合は、この手順をスキップして次の手順に進みます。
SQL アプリケーションを復元した後、このデータベースにより SQL サービスを開始できます。システムのすべてのパーティションを復元した後、SQL サービスが動作していることを確認します。サービスが動作していない場合は、SQL Server Service Manager または SQL Server Enterprise Manager.から起動します。
Enterprise Manager で SQL サーバの登録が失われている場合、登録し直します。
SQL サーバ(特に、そのマスター、モデル、および msdb システムデータベース)をバックアップするのに Retrospect オープンファイルバックアップアドオンを使用したバックアップから復元しなかった場合は、以下の手順に従います。それ以外は、この手順をスキップして次の手順に進みます。
Microsoft の「検索」ユーティリティを使用して、システム上で rebuildm.exe ユーティリティを探します。Microsoft SQL インストール CD を用意します。
SQL サービスは、マスターと他のシステムデータベースがないと起動しないため、rebuildm.exe ユーティリティを使用してデータベースを再構築します。システム上の各 SQL インスタンスに対して、ユーティリティを実行します。システムデータベースを復元した後、SQL サービスが起動したことを確認します。必要であれば、手動でサービスを起動します。
3. シングルユーザモードでデータベースを復元する。
コマンドラインからではなく、SQL Server Enterprise Manager から、シングルユーザモードで SQL サーバを起動します。サーバを右クリックし、「プロパティ」を選択します。「全般」「起動時のパラメータ」を順にクリックして、新しいパラメータ -m. Stop を追加し、SQL Server Service Manager を使用して SQL サービスを再起動します。これで、SQL サーバはシングルユーザモードで動作し、すべてのサービスは同じユーザ ID で動作します。
Retrospect を使用して、最新のデータベーススナップショットからマスターデータベースだけを復元します。
復元操作を完了した後、-m オプションを削除し、SQL サーバを停止して再起動し、ノーマルモードに戻します。
上記手順を完了した後、グレー表示で疑わしいというマークが付いたデータベースが SQL Enterprise Manager の中にあります。これは、そのサーバのすべてのデータベースのレコードがマスターデータベースに含まれていて、関連データファイルが紛失しているデータベースが疑わしいためです。SQL サーバ上の疑わしいデータベースをすべて削除して、次の手順を成功させます。
Retrospect を使用して、msdb データベースを復元し、その後に他のすべてのデータベースを復元します。必ず最新のデータベーススナップショットから復元します。各 SQL サーバのすべての SQL データベースを復元した後、システムは使用できる状態になります。
SQL Enterprise Manager のログを見れば、Retrospect で生成されたエラーの詳細を調べることができます。
== Retrospect と SQL SMO のサポート
Retrospect Backup は Windows 版 18.5.3 以降、Server Management Objects(SMO)経由で Microsoft SQL データベースへの接続をサポートしています。以下の設定手順に従い、ローカルまたは Retrospect クライアント経由で SQL をバックアップできるよう Retrospect を設定してください。
注記: 以前のバージョンの Retrospect SQL Backup をサポートするために Microsoft SQL Backwards-Compatibility Module を使用していた場合は、アンインストールしてください。
1. Retrospect が SQL データベースのバックアップに使用する Windows ユーザーを設定します。
ユーザーは Administrators グループに属している必要があり、その後 SQL Server Management Studio の SQL インスタンスで「セキュリティ」>「ログオン」に追加する必要があります。「ログオン」を右クリックし、「新しいログオン…」を選択し、「ログオン名」フィールドに Windows ユーザーを追加し、「サーバーロール」をクリックして sysadmin をオンにし、「OK」をクリックしてユーザーを作成します。
Retrospect が SQL Server 上で動作している場合は、Retrospect 実行時にこのユーザーアカウントで Windows にログオンしてください。Retrospect を起動したら、「ボリュームの設定」に移動し、SQL Server オブジェクトをクリックし、「データベースライセンスが必要です」ポップアップで「OK」をクリックし、「SQL Server のログオン情報を入力」ウィンドウで「ドメイン認証を使用」を選択してユーザー資格情報を入力します。マシンがドメインに参加していない場合は、「ドメイン」フィールドにコンピュータ名を入力します。SMO は Windows 認証のみをサポートし、SQL 認証はサポートしません。
SQL サーバーに Retrospect クライアントがインストールされている場合は、手順 1 で設定したユーザーとしてクライアントサービスが実行されるよう構成する必要があります。Windows の「ファイル名を指定して実行」メニューを開き、services.msc と入力して「OK」をクリックします。Retrospect Client サービスを見つけてプロパティを開き、「ログオン」タブを選択し、「このアカウント:」を選択してユーザー資格情報を入力します。反映するにはクライアントサービスを再起動する必要があります。
1. 「File (database_name) can’t read, error -1004」が表示され、上記の設定手順に従っている場合は、PowerShell で次のコマンドを実行して WinRM を有効にする必要があることがあります。PowerShell を起動し、Enable-PSRemoting -Force を実行してから winrm quickconfig を実行します。