Share via


SQL Server 2008 と Office SharePoint Server 2007 の統合

この記事の内容 :

  • Office SharePoint Server と SQL Server 2008 の統合について

  • データベース バックアップの圧縮

  • ログ ストリームの圧縮

  • 透過的なデータ暗号化 (TDE)

  • SQL Server 2008 リソース ガバナ

ここでは、Microsoft Office SharePoint Server の展開をさらに強固なものにする Microsoft SQL Server 2008 のいくつかの新機能の実装について、規範的なガイダンスを紹介します。

Office SharePoint Server と SQL Server 2008 の統合について

Office SharePoint Server に SQL Server 2008 を組み合わせると、主に次の強化内容が追加されます。

  • データベース バックアップの圧縮の実装による、パフォーマンスの向上

  • ログ ストリームの圧縮の実装による、可用性の向上

  • 透過的なデータ暗号化 (TDE) の実装による、セキュリティの強化

  • SQL Server 2008 リソース ガバナの使用による、リソース管理の向上

注意

Microsoft Office SharePoint Server 2007 のシステム要件については、「ハードウェアおよびソフトウェアの要件を決定する (Office SharePoint Server)」を参照してください。

SQL Server 2008 のシステム要件については、「SQL Server 2008 のインストールに必要なハードウェアおよびソフトウェア」(https://msdn.microsoft.com/ja-jp/library/ms143506.aspx?amp;clcid=0x411) を参照してください。

SQL Server 2008 Enterprise および SQL Server 2008 Standard でサポートされる機能の比較については、「Microsoft SQL Server 2008 Enterprise and Standard Feature Compare (英語)」(https://go.microsoft.com/fwlink/?linkid=129378&clcid=0x411) を参照してください。

データベース バックアップの圧縮

SQL Server 2008 Enterprise Edition では、データベース バックアップを圧縮できます。圧縮したデータベース バックアップは、SQL Server 2008 のどのバージョンでも復元できます。データベース バックアップの圧縮は、Office SharePoint Server のユーザーにとって、SQL Server 2008 から提供される重要な機能です。バックアップ スクリプト内で圧縮フラグを設定する方法、または SQL Server 2008 Enterprise Edition の実行アプリケーション サーバーの構成で圧縮を既定として設定する方法によって、データベース バックアップと配布ログのサイズを大幅に削減できます。

バックアップおよび復元操作のコストと複雑さは、IT の管理しやすさに関する重要な側面です。SQL Server 2008 で Office SharePoint Server を実行すると、バックアップ圧縮の使用によって、バックアップおよび復元操作のコストが削減される場合があります。コスト削減額は、Office SharePoint Server 展開に多くのドキュメントが含まれるかどうか、および環境に存在する Office クライアント アプリケーションのバージョンによって異なります。

既定では、Office SharePoint Server は、ドキュメント ストリームを SQL テーブルに格納します。展開によって異なりますが、ドキュメント ストリームはデータベースの全容量の大きな割合 (一部のサンプル Office SharePoint Server データベースでは 70 ~ 95%) を消費することがあります。環境の大部分が Office 2007 クライアント アプリケーションで構成されている場合は、バックアップ圧縮によって大幅なコスト削減は実現されない可能性があります。このシナリオでは、コスト削減は 20% 以下になります。ただし、既存のデータの多くが Office 2003 (またはそれ以前のバージョンの Office) を使用して作成されたコンテンツである場合、SQL Server 2008 のバックアップ圧縮を有効にすると、バックアップ イメージのサイズを大幅に減らすことができ、コスト削減に役立ちます。

バックアップの圧縮を実装するには、SQL Server 2008 Enterprise Edition を実行しているアプリケーション サーバー上で、SQL Server Management Studio を使用して SQL Server のプロパティを構成します。詳細については、「SQL Server Management Studio の概要」(https://technet.microsoft.com/ja-jp/library/ms174173.aspx?amp;clcid=0x411) を参照してください。

バックアップ スクリプトに圧縮句を追加してデータベース バックアップの圧縮を設定することもできます。コードは次のようになります。

BACKUP DATABASE [<DATABASE_NAME>]
TO DISK = 'E:\BACKUP\<DATABASE_NAME>.bak'
WITH COMPRESSION;

圧縮には CPU リソースが必要ですが、多くの環境において CPU は、Windows のバックアップ中でさえも貴重なリソースです。既定では、バックアップの圧縮を使用してバックアップを実行すると CPU 使用率が大幅に上昇します。また、圧縮プロセスによって追加の CPU リソースが消費されることで、同時に実行されている操作に悪影響が生じることもあります。詳細については、「バックアップの圧縮 (SQL Server)」(https://msdn.microsoft.com/ja-jp/library/bb964719.aspx?amp;clcid=0x411) を参照してください。

ログ ストリームの圧縮

データベース ミラーリングのパフォーマンスを制限する要因の 1 つは、プリンシパル サーバーとミラー サーバーの間のネットワーク スループットです。SQL Server 2008 では、ログ ストリームの圧縮がサポートされています。ログ ストリームを構成するのは、サーバー間で転送される挿入、更新、削除の操作です。ログ ストリームを圧縮するとネットワーク スループットを有効に活用できるので、ネットワーク条件に恵まれない環境では特に有用です。ログ ストリームの圧縮には、バックアップの圧縮と同様の効果と、同様の CPU リソースへの影響があります。一方、バックアップの圧縮とは違ってログ ストリームの圧縮は制御しにくいという特徴もあります。ログ ストリームの圧縮は、ミラーリング セッションを開始するとすぐ、既定により有効になります。トレース フラグ 1462 を使用してログ ストリームの圧縮を無効にすることもできます。ログ ストリームの圧縮とミラーリングの詳細については、「可用性に関する機能強化 (データベース エンジン)」(https://msdn.microsoft.com/ja-jp/library/cc645581.aspx?amp;clcid=0x411) を参照してください。

透過的なデータ暗号化 (TDE)

SQL Server 2008 Enterprise Edition での TDE サポートは、Microsoft SQL Server 2005 の暗号化機能から強化された内容として重要なものです。TDE を使用するとデータベース全体を暗号化でき、アプリケーション側の認識や修正は必要ありません。TDE ではデータがディスクへの書き込み時に暗号化され、ディスクからの読み取り時に暗号化解除されます。以下のコード例で示す手順を実行することで、TDE を有効にできます。

  1. 暗号化キーを作成する

  2. 証明書を作成する

  3. 暗号化に証明書を使用するようにデータベースを構成する

  4. 暗号化を有効にする

暗号化キーを作成する

USE MASTER;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'p@$$W0rd'
Security note セキュリティに関するメモ

複雑なパスワードが必須の場合は、複雑さの要件を満たすパスワードが必要です。

証明書を作成する

CREATE CERTIFICATE MYENCRYPTCERT WITH SUBJECT = 'TDE';

注意

証明書をキーと共にバックアップし、保存してください。

暗号化に証明書を使用するようにデータベースを構成する

USE <ContentDB>;
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MYENCRYPTCERT;

注意

このコード例では、他にも数種類のアルゴリズムを使用できます。

暗号化を有効にする

ALTER DATABASE <ContentDB>
SET ENCRYPTION ON;

TDE は CPU の使用率が高い操作であり、セキュリティを確保するためにも、暗号化のスコープは以下に制限する必要があります。

  • 暗号化するデータベース

  • ログ

  • 一時データベース

  • 暗号化されたデータベースのバックアップ

稼働率の高いシステムでは、暗号化するデータベースが少数でも、多くの CPU リソースが使用されます。したがって、暗号化は慎重に使用する必要があります。暗号化を実装するのは暗号化が確実に必要な場所だけとし、実装の前にはパフォーマンスと運用への影響を徹底的にテストします。TDE の実装も、セキュリティ保護が最優先でサイズがそれほど問題ではないデータベース部分だけにすることをお勧めします。

SQL Server 2008 Enterprise Edition でのデータベース暗号化の詳細については、「Database Encryption in SQL Server 2008 Enterprise Edition (英語)」(https://go.microsoft.com/fwlink/?linkid=129383&clcid=0x411) を参照してください。

TDE 使用時の追加の考慮事項

  • 暗号化されたデータベースでは、バックアップの圧縮率は低くなります。

  • TDE では、複数のプロセッサのメリットを生かすことができません。

  • TDE は復元操作と障害復旧に影響します。データベースを復元するには暗号化証明書が必要になり、暗号化証明書がないと復元操作は失敗します。

  • TDE はデータベース ミラーリングとログ配布に影響します。ミラーリングまたはログ配布を実行するにはパートナー サーバーに暗号化証明書をインストールする必要があります。

  • ファイル ストリーム データは暗号化されません。

TDE の詳細については、「透過的なデータ暗号化 (TDE) について」(https://go.microsoft.com/fwlink/?linkid=129384&clcid=0x411) を参照してください。

SQL Server 2008 リソース ガバナ

SQL Server 2008 リソース ガバナを使用すると、CPU、メモリなどの SQL Server リソースの割り当てを細かく制御できます。たとえば、受信接続に一定の基準でしきい値を適用するには、リソース ガバナが便利です。リソース ガバナは、受信要求を一意に識別する属性ならどの属性にも適用できます。たとえば、別のサーバー上で実行されているレポート作成アプリケーションによってメモリが過剰に使用されるのを防ぐには、アプリケーション名、ホスト名、またはユーザー名でアプリケーションを識別するポリシーを作成できます。

重要

Office SharePoint Server による SQL Server の利用を SQL Server 2008 リソース ガバナで制御しないでください。 たとえば、インデックス サーバーによって SQL Server のリソースが過剰に使用されるという問題は、容量計画の問題であって、基幹サービスを無理に制限するのではなく容量を追加することで対応する必要があります。SharePoint サービスを制限すると、それがどんなに些細なサービスに見えたとしても、環境の正常性に影響が生じたり環境のサポート能力が低下したりすることがあります。

リソース ガバナでは、SQL Server のリソースの保守と管理を実行できます。たとえば、チームが Management Studio やクエリ アナライザを使用することで SQL Server にアドホック クエリの処理負荷が過剰にかかるという事態を防ぐには、リソース ガバナを使用して、アドホック クエリの処理に使用できる CPU リソースを空き CPU リソースの 25% までに制限できます。これには、以下のコード例で示す手順を実行します。

  1. リソース プールを作成し、CPU 使用率を 25% に制限する

  2. アドホック クエリのワークロード グループを作成し、新しいリソース プールに登録する

  3. Management Studio とクエリ アナライザをアドホック グループのメンバとして分類する関数を作成する

  4. 新しい関数をリソース ガバナに登録する

  5. リソース ガバナを再起動する

リソース プールを作成し、CPU 使用率を 25% に制限する

CREATE RESOURCE POOL poolAdhoc
WITH (MAX_CPU_PERCENT = 25);

アドホック クエリのワークロード グループを作成し、新しいリソース プールに登録する

CREATE WORKLOAD GROUP groupAdhoc
USING poolAdhoc;

Management Studio とクエリ アナライザをアドホック グループのメンバとして分類する関数を作成する

CREATE FUNCTION adhocQueryClassifier() RETURNS SYSNAME
WITH SCHEMABINDING
AS
BEGIN
   DECLARE @grp_name AS SYSNAME
      IF (APP_NAME() LIKE '%MANAGEMENT STUDIO%')
         OR (APP_NAME() LIKE '%QUERY ANALYZER%')
         SET @grp_name = 'groupAdhoc'
   RETURN @grp_name
END
GO

新しい関数をリソース ガバナに登録する

ALTER RESOURCE GOVERNOR
WITH (CLASSIFIER_FUNCTION= dbo.adhocQueryClassifier);

リソース ガバナを再起動する

ALTER RESOURCE GOVERNOR RECONFIGURE;

SQL Management Studio またはクエリ アナライザで発行されたクエリは、poolAdhoc に割り当てられます。CPU リソースが制限される状況になった場合、クエリで使用できる CPU リソースは空き CPU リソースの 25% までに制限されます。CPU リソースの制限が解除されると、リソース ガバナによって、各クエリでは必要なリソースを制限なしに使用できるようになります。リソース ガバナは、最小限のリソースを割り当てるときにも使用できます。

リソース ガバナの詳細については、「リソース ガバナを使用した SQL Server ワークロードの管理」(https://go.microsoft.com/fwlink/?linkid=129385&clcid=0x411) を参照してください。

このブックをダウンロードする

このトピックは、簡単に読んだり印刷したりできるように、次のダウンロード可能なブックに収められています。

入手できるすべてのブックの一覧については、「Office SharePoint Server 2007 のダウンロード可能なブック」を参照してください。