Notification Services データベースと操作ファイルのバックアップ
SQL Server Notification Services のインスタンスは、定期的にバックアップする必要があります。インスタンスとアプリケーション データを頻繁にバックアップしていない場合、特定の時点にアプリケーションを復旧できません。他のデータ、インスタンス構成、アプリケーション定義、サブスクリプション管理インターフェイス、カスタム コンポーネント、およびアプリケーションに必要なその他の操作ファイルのバックアップを実行しないと、Notification Services のインスタンスを完全に復旧することができません。
バックアップとクォンタム クロック
Notification Services では、ジェネレータは連続実行されません。代わりに、ジェネレータは時間を個別の間隔に分割します。クォンタムと呼ばれる、各時間間隔は、ジェネレータによって作成され、追跡されます。ジェネレータは、各ジェネレータ クォンタムの終わりにルールを実行します。
インスタンスを復旧すると、Notification Services はデータベースから、最後に完了したジェネレータ クォンタムを確認し、その時点から処理を再開します。ジェネレータは、アプリケーションに対して定義されたクォンタム制限に応じてクォンタムをスキップする場合があります。詳細については、「クォンタム制限の指定」を参照してください。
トランザクション ログを完全に復元できない場合は、アプリケーションによってイベントが再処理され、重複する通知が生成される可能性があります。たとえば、3 時間前の状態にデータベースを復元する場合、ジェネレータは 3 時間が経過したクォンタムの処理を再開して、この 3 時間以内に生成された通知を重複して作成している可能性があります。ジェネレータのクォンタム クロックが存在すること、またはサブスクライバとサブスクリプション データがインスタンス データベースとアプリケーション データベース内に存在することから、バックアップを頻繁に行い、現在のデータを復元して重複する通知を削減できるようにすることが重要になります。
ジェネレータのクォンタム クロックの詳細については、「ジェネレータ クォンタム期間の指定」を参照してください。
復旧の計画
以下の一覧は、復旧を計画する役に立ちますが、各アプリケーションに対して配置は 1 つしかないため、アプリケーション独自の復旧に利用できる項目および指示を策定する必要があります。
ソフトウェア
復旧に利用できる次のソフトウェアがあるかどうかを確認します。
- オペレーティング システムのメディア。
- Microsoft SQL Server のメディア。
- オペレーティング システム、SQL Server、または Notification Services に適用される Service Pack または修正プログラム。
- カスタム コンポーネント、XML スキーマ定義言語 (XSD) ファイル、XSLT (Extensible Stylesheet Language Transformation) ファイルなど、Notification Services アプリケーションで使用される操作ファイル。すべてのファイルとそれらの実行場所の一覧を作成している場合は、Notification Services のインスタンスを復旧する方が簡単です。
- インスタンスの構成とアプリケーション定義を含むファイル。
- サブスクリプション管理インターフェイス。
セキュリティ情報
次のセキュリティ情報を、運用部門など、Notification Services のインスタンスを復元するユーザーが利用できるかどうかを確認します。
- Notification Services エンジンの実行に使用するユーザー名とパスワード。通常は、NS$intanceName Microsoft Windows サービスで実行されます。
- インスタンス データベースとアプリケーション データベースにアクセスするためにインスタンスが SQL Server 認証を使用する場合は、インスタンスの SQL Server ユーザー名とパスワード。
- サブスクリプション管理インターフェイスが使用するユーザー名とパスワード。
- ソフトウェアをインストールし、nscontrol コマンドを実行するために使用するローカル ユーザー アカウントまたはドメイン ユーザー アカウント。
- SQL Server Management Studio、nscontrol コマンド、または Notification Services 管理オブジェクト (NMO) を使用するカスタム アプリケーションにより、Notification Services のインスタンスを管理するために使用される SQL Server 管理者アカウント。
重要 : |
---|
この情報は安全な場所に保存してください。Notification Services のインスタンスを配置、管理、または復旧しないユーザーは、アカウントおよびパスワード情報へアクセスするための権限は必要ありません。 |
データベース ファイルおよびその他のファイルのバックアップ
Notification Services のインスタンスをバックアップするには、データベース ファイル、操作ファイル (通知の書式設定に使用する XSLT ファイルなど)、およびインスタンスやアプリケーションの構成に使用するファイルをバックアップする必要があります。
データベース ファイルのバックアップ
Microsoft SQL Server 2005 では、インスタンスとアプリケーション データを既存のデータベースに格納するか、Notification Services で新しいデータベースを作成できます。インスタンスとアプリケーション データをどのデータベースに格納するかを決定するには、Notification Services のインスタンスまたはインスタンス構成とアプリケーション定義に関するドキュメントを参照してください。
Notification Services に対する最適な復旧モデルは "完全" です。完全復旧モデルが提供するデータベース バックアップ、差分バックアップ、およびトランザクション ログ バックアップを使用すると、インスタンス データベースとアプリケーション データベースを特定の時点の状態に復元できます。バックアップ スケジュールの一例としては、データベース全体のバックアップを毎晩、差分バックアップを 3 時間ごと、トランザクション ログ バックアップを 30 分ごとに行う方法があります。このモデルを使用すると、障害が発生して 30 分以内の状態にインスタンスを復元することができます。
データベースのバックアップの詳細については、「SQL Server でのデータベースのバックアップおよび復元」を参照してください。
重要 : |
---|
インスタンスとアプリケーション データを含むデータベースは、同じスケジュールでバックアップしてください。同時にバックアップすることで、データベースの操作状態が同じになるので、復旧後にアプリケーション エラーが発生する確率が低下します。 |
操作ファイルのバックアップ
大部分のインスタンスは、運用中にデータベース ファイル以外に追加のファイルが必要になります。たとえば、ファイル システム監視イベント プロバイダを使用するアプリケーションは、イベント データを記述する XML スキーマ定義言語 (XSD) ファイルを 1 つ以上使用します。XSLT を使用して通知の書式設定を行うアプリケーションには、1 つ以上の XSLT ファイルが必要です。カスタム オブジェクトを使用するアプリケーションには、カスタム オブジェクト用の追加ファイルが必要です。
インスタンスを復旧するには、そのインスタンスがホストするすべてのアプリケーションのすべての操作ファイルが必要になります。これらの他のファイルが使用できないと、インスタンスを開始するときにアプリケーションの一部が失敗します。
これらのデータベース ファイル以外の操作ファイルは、基本的にはデータベース ファイルほど頻繁に変更されないので、多くの場合、データベース ファイルと同じ頻度でバックアップする必要はありません。ただし、バージョン管理システムを使用してソース ファイルを格納するか、ファイルを変更するたびにバックアップする必要があります。
構成ファイルとアプリケーション定義ファイルのバックアップ
実行中のインスタンスとアプリケーションは、インスタンス構成データとアプリケーション定義データを含むファイルを必要としません。ただし、インスタンスやアプリケーションを更新するたびに、これらのファイルを使用します。使用可能なインスタンスのバックアップがない場合、および元のファイルを損失した場合は、インスタンス データベースとアプリケーション データベースから現在のデータをエクスポートすることができます。
詳細については、「Notification Services のインスタンスとアプリケーションのメタデータのエクスポート」を参照してください。
参照
その他の技術情報
Notification Services のバックアップと復旧
SQL Server でのデータベースのバックアップおよび復元
Notification Services の管理