バックアップと復元の実装
最終更新日: 2010年4月20日
適用対象: SharePoint Foundation 2010
Service Application Framework では、Web サービス アプリケーションおよび Web サービス アプリケーション プロキシのバックアップと復元の実装がサポートされています。バックアップのために各サービスを個別にマークできます。また、特別な要件を持たないサービス データベースを SharePoint Foundation 2010 に登録できます。関連するバックアップ属性を適用した場合は、これを IBackupRestore クラスの実装の代わりにできます。
SharePoint Foundation 2010 バックアップおよび復元のインフラストラクチャで本質的にサポートされていない複雑なプロパティは、自動的にはバックアップされません。Service Application Framework は、SharePoint Foundation 2010 の構成のみのバックアップと復元には参加しません。
バックアップおよび復元するようにオプトインするサービスでは、次のリソースが自動的にバックアップおよび復元されます。
保持されたオブジェクト。
プラット フォームレベルのアクセス制御リスト (ACL)。
サービス エンドポイント。
サービス アプリケーション プール。
トポロジ サービス ベースのロード バランサー。
SPDatabase から派生したクラスを通じて参照されるデータベースおよびラウンド ロビン ロード バランサー (他のすべてのカスタム ロード バランサーでは、カスタム コードをバックアップし復元する必要があります)。
注意
PersistedAttributeMergeType が merge に設定されている場合は、データベースとラウンド ロビン ロード バランサーの両方がバックアップおよび復元に含まれます。たとえば、[Persisted] とマークされたデータベース参照がバックアップされ、[Persisted(PersistedAttributeMergeType.NonMerge)] とマークされたデータベース参照はバックアップまたは復元されません。これにより、サービス開発者が、データベースまたはロード バランサーをバックアップ パッケージに含める必要があるかどうかを判断できます。たとえば、一時データベースはバックアップする必要がない可能性があります。
バックアップと復元の実装
バックアップおよび復元を実装するには、次のように、C# 言語属性をアプリケーション クラスおよびアプリケーション プロキシ クラスに適用します。
IisWebServiceApplicationBackupBehaviorAttribute 属性をアプリケーション クラスに適用し、バックアップ時に Web サービス アプリケーションをバックアップに含める必要があることを示します。
IisWebServiceApplicationProxyBackupBehaviorAttribute 属性をアプリケーション プロキシ クラスに適用し、バックアップ時に Web サービス アプリケーション プロキシをバックアップに含める必要があることを示します。
例
[IisWebServiceApplicationProxyBackupBehavior]
[System.Runtime.InteropServices.Guid("7081FDA9-21B4-4AF6-9DCD-877348683C59")]
internal sealed class SampleWebServiceApplicationProxy : SPIisWebServiceApplicationProxy
<IisWebServiceApplicationProxyBackupBehavior, System.Runtime.InteropServices.Guid("7081FDA9-21B4-4AF6-9DCD-877348683C59")>
Friend class SampleWebServiceApplicationProxy
Inherits SPIisWebServiceApplicationProxy
End class
拡張メカニズムの提供
バックアップまたは復元中、サービス アプリケーションまたはアプリケーション プロキシでカスタム コードを実行する必要がある場合、Service Application Framework は、SharePoint Foundation 2010 バックアップおよび復元インフラストラクチャによって公開されているインターフェイスを模倣する拡張メカニズムを提供します。
カスタム コードをバックアップおよび復元プロセスに追加するには
次のどちらかからクラスを派生させます。
IisWebServiceApplicationBackupBehaviorAttribute (サービス アプリケーションの場合)
IisWebServiceApplicationProxyBackupBehaviorAttribute (サービス アプリケーション プロキシの場合)
1 つ以上の仮想プロパティまたは関数をオーバーライドします。
カスタム属性をアプリケーション クラスまたはアプリケーション プロキシ クラスに適用します。
注意
サポートされている唯一のバックアップ メカニズムは、属性ベースのバックアップおよび復元メカニズムを実装するというものです。IBackupRestore およびその他のバックアップと復元インターフェイスを実装していても、属性ベースのインフラストラクチャを使用することを検討してください。使用中のアプリケーション プールなど、サービス アプリケーションの部分によっては、パブリック API では作成できないことがあります。