SQL Server ユーティリティ コントロール ポイントを作成する方法 (SQL Server ユーティリティ)
企業では、複数の SQL Server ユーティリティを所有することができ、各 SQL Server ユーティリティでは、多くの SQL Server インスタンスおよびデータ層アプリケーションを管理できます。各 SQL Server ユーティリティには、ユーティリティ コントロール ポイント (UCP) を 1 つだけ含めることができます。SQL Server ユーティリティごとに新しい UCP を作成する必要があります。SQL Server の各マネージ インスタンス、および各データ層アプリケーション コンポーネントは、1 つの SQL Server ユーティリティのみのメンバーであり、1 つの UCP で管理されます。
UCP では、15 分ごとに、SQL Server のマネージ インスタンスから構成情報およびパフォーマンス情報を収集します。この情報は、UCP のユーティリティ管理データ ウェアハウス (UMDW) に格納されます。UMDW ファイル名は sysutility_mdw です。SQL Server のパフォーマンス データは、ポリシーと比較され、リソース使用時のボトルネックおよびリソースの統合の可能性を特定するのに役立ちます。
作業を開始する準備
UCP を作成する前に、次の要件と推奨事項を確認してください。
このリリースでは、UCP および SQL Server のすべてのマネージ インスタンスが次の要件を満たしている必要があります。
SQL Server は Version 10.50 以上である必要があります。
SQL Server のインスタンスの型はデータベース エンジンであることが必要です。
SQL Server ユーティリティは、単一の Windows ドメイン、または双方向の信頼関係を持つドメイン間で操作する必要があります。
SQL Server の UCP およびすべてのマネージ インスタンスの SQL Server サービス アカウントには、Active Directory 内のユーザーに対する読み取り権限が必要です。
このリリースでは、UCP が次の要件を満たしている必要があります。
SQL Server のエディションは、Data Center、Enterprise、Developer、または Evaluation である必要があります。
UCP は SQL Server の大文字と小文字が区別されるインスタンスでホストすることをお勧めします。
UCP コンピューター上のキャパシティ プランニングについては、次の推奨事項を考慮してください。
一般的なシナリオでは、UCP の UMDW データベース (sysutility_mdw) で使用されるディスク領域は、SQL Server のマネージ インスタンス 1 つにつき年間約 2 GB です。この推定値は、マネージ インスタンスによって収集されるデータベース オブジェクトおよびシステム オブジェクトの数に応じて変化します。UMDW (sysutility_mdw) のディスク領域の増加率は、最初の 2 日間で最大になります。
一般的なシナリオでは、UCP の msdb に使用されるディスク領域は、SQL Server のマネージ インスタンス 1 つにつき約 20 MB です。この推定値は、リソース使用率のポリシーと、マネージ インスタンスによって収集されるデータベース オブジェクトおよびシステム オブジェクトの数によって異なることに注意してください。一般に、ポリシー違反の数が増えたり、揮発性のリソースのために移動する期間が増えるたび、使用されるディスク領域が増加します。
マネージ インスタンスのデータ保持期間の有効期限までは、UCP からマネージ インスタンスを削除して、UCP のデータベースに使用されているディスク領域を縮小できないことに注意してください。
このリリースでは、SQL Server のすべてのマネージ インスタンスが次の要件を満たしている必要があります。
UCP をホストする SQL Server インスタンスが大文字と小文字を区別しない場合は、SQL Server のマネージ インスタンスでも大文字と小文字を区別しないことをお勧めします。
FILESTREAM データは、SQL Server ユーティリティの監視機能ではサポートされていません。
詳細については、「SQL Server の最大容量仕様」および「SQL Server 2008 R2 の各エディションがサポートする機能」を参照してください。
新しいユーティリティ コントロール ポイントをインストールする前に、以前のものを削除する必要がある
ユーティリティ コントロール ポイント (UCP) として構成されたことのある SQL Server インスタンスに UCP をインストールする場合、事前に SQL Server のすべてのマネージ インスタンスと UCP を削除しておく必要があります。これには、sp_sysutility_ucp_remove ストアド プロシージャを実行します。
このプロシージャは、次の要件を理解したうえで実行してください。
このプロシージャは、UCP として構成されたコンピューターで実行する必要があります。
このプロシージャは、sysadmin 権限を持つユーザーが実行する必要があります。この権限は、UCP の作成に必要な権限と同じです。
SQL Server のマネージ インスタンスをすべて UCP から削除する必要があります。UCP は、SQL Server のマネージ インスタンスの 1 つです。詳細については、「SQL Server ユーティリティから SQL Server のインスタンスを削除する方法」を参照してください。
このプロシージャを使用して、SQL Server UCP を SQL Server ユーティリティから削除します。操作の完了後は、この SQL Server インスタンスに再度 UCP を作成することができます。
UCP に接続するには、SQL Server Management Studio を使用して、次のスクリプトを実行します。
EXEC msdb.dbo.sp_sysutility_ucp_remove;
EXEC msdb.dbo.sp_sysutility_ucp_remove;
注 |
---|
UCP を削除した SQL Server インスタンスにユーティリティ以外のデータ コレクション セットがある場合、このプロシージャでは sysutility_mdw データベースが削除されません。この場合、再度 UCP を作成するには、あらかじめ手動で sysutility_mdw データベースを削除しておく必要があります。 |
SQL Server の各マネージ インスタンス、および各データ層アプリケーション コンポーネントは、1 つの SQL Server ユーティリティのみのメンバーであり、1 つの UCP で管理されます。SQL Server ユーティリティの概念の詳細については、「SQL Server ユーティリティの概要」を参照してください。
UCP は、SQL Server ユーティリティの中心的な裏付けとなるポイントです。UCP を使用すると、SQL Server のマネージ インスタンスと SQL Server データ層アプリケーションから収集された構成情報およびパフォーマンス情報を表示して、一般的なキャパシティ プランニングのアクティビティを実行できます。UCP は、SQL Server ユーティリティから SQL Server のインスタンスを登録および削除するための開始ポイントです。
SQL Server インスタンスを SQL Server ユーティリティに登録した後、SQL Server のマネージ インスタンスとデータ層アプリケーションのリソースの正常性を監視して、統合の可能性を特定し、リソースのボトルネックを分離できます。詳細については、「SQL Server ユーティリティでの SQL Server のインスタンスの監視」を参照してください。
重要 |
---|
SQL Server ユーティリティ コレクション セットは、SQL Server ユーティリティ以外のコレクション セットとサイド バイ サイドで実行できます。つまり、SQL Server のマネージ インスタンスは、SQL Server ユーティリティのメンバーであれば、他のコレクション セットによって監視できます。ただし、マネージ インスタンス上のすべてのコレクション セットは、データを SQL Server ユーティリティ管理データ ウェアハウスにアップロードすることに注意してください。詳細については、「SQL Server の同じインスタンスでユーティリティ コレクション セットとユーティリティ以外のコレクション セットを実行する場合の考慮事項」および「ユーティリティ コントロール ポイント データ ウェアハウスの構成 (SQL Server ユーティリティ)」を参照してください。 |
ウィザードの手順
以降のセクションでは、新しい SQL Server UCP を作成するウィザードのワークフローの各ページについて説明します。新しい UCP を作成するウィザードを起動するには、SSMS の [表示] メニューからユーティリティ エクスプローラーを開き、ユーティリティ エクスプローラーのウィンドウ上部にある ([UCP の作成]) をクリックします。
次の一覧にあるリンクをクリックすると、ウィザードのページの詳細に移動できます。
この操作を実行する PowerShell スクリプトの詳細については、例を参照してください。
UCP の作成ウィザードの概要
インスタンスの指定
接続ダイアログ
ユーティリティ コレクション セットのアカウント
検証規則
概要
ユーティリティ コントロール ポイントの作成
UCP の作成ウィザードの概要
ユーティリティ エクスプローラーを開いたときに、ユーティリティ コントロール ポイントに接続していない場合、いずれかに接続するか、新しいユーティリティ コントロール ポイントを作成する必要があります。
既存の UCP に接続する - ユーティリティ コントロール ポイントが既に配置されている場合は、ユーティリティ エクスプローラーのウィンドウ上部にある (ユーティリティへの接続) をクリックして接続できます。既存の UCP に接続するには、管理者資格情報を持っているか、Utility Reader ロールのメンバーである必要があります。UCP は SQL Server ユーティリティごとに 1 つだけ存在できます。また、1 つの SSMS インスタンスから接続できる UCP は 1 つだけです。
新しい UCP を作成する - 新しいユーティリティ コントロール ポイントを作成するには、ユーティリティ エクスプローラーのウィンドウ上部にある (UCP の作成) をクリックします。新しい UCP を作成するには、接続ダイアログで、SQL Server インスタンス名と管理者資格情報を指定する必要があります。UCP は 1 つの SQL Server ユーティリティにつき 1 つだけ存在します。
インスタンスの指定
作成中の UCP について、次の情報を指定します。
インスタンス名 - 接続ダイアログで SQL Server のインスタンスを選択するには、[接続] をクリックします。ComputerName\InstanceName の形式で、コンピューター名と SQL Server インスタンス名を指定します。
ユーティリティ名 - ネットワーク上で SQL Server ユーティリティを識別するために使用される名前を指定します。
続行するには、[次へ] をクリックします。
接続ダイアログ
[サーバーへの接続] ダイアログ ボックスで、サーバーの種類、コンピューター名、および SQL Server インスタンス名の情報を確認します。詳細については、「[サーバーへの接続] (データベース エンジン)」を参照してください。
注 |
---|
接続が暗号化されている場合、暗号化接続が使用されます。接続が暗号化されていない場合、SQL Server ユーティリティは暗号化された接続を使用して再接続します。 |
続行するには、[接続] をクリックします。
ユーティリティ コレクション セットのアカウント
SQL Server ユーティリティ コレクション セットを実行する Windows ドメイン アカウントを指定します。このアカウントは、SQL Server ユーティリティ コレクション セットの SQL Server エージェント プロキシ アカウントとして使用されます。また、既存の SQL Server エージェント サービス アカウントを使用することもできます。検証の要件を満たすには、次のガイドラインに従ってアカウントを指定します。
SQL Server エージェント サービス アカウントのオプションを指定する場合は、次のガイドラインに従います。
- SQL Server エージェント サービス アカウントには、ビルトイン アカウント (LocalSystem、NetworkService、LocalService など) ではなく、Windows ドメイン アカウントを指定する必要があります。
続行するには、[次へ] をクリックします。
検証規則
SQL Server のこのリリースでは、UCP が作成される SQL Server のインスタンスで、次の条件を満たしている必要があります。
検証規則 |
修正措置 |
---|---|
ユーティリティ コントロール ポイントが作成される SQL Server インスタンスに対する管理者特権が必要です。 |
SQL Server のインスタンスに対する管理者特権を持つアカウントでログオンします。 |
SQL Server のバージョンは 10.50 以上である必要があります。 |
UCP をホストする別の SQL Server インスタンスを指定します。 |
SQL Server のエディションは、Data Center、Enterprise、Developer、または Evaluation である必要があります。 |
UCP をホストする別の SQL Server インスタンスを指定します。 |
SQL Server のインスタンスに、別の SQL Server UCP に登録されている SQL Server のインスタンスは指定できません。 |
異なる SQL Server インスタンスを指定して UCP をホストするか、現在 SQL Server のマネージ インスタンスである UCP から SQL Server インスタンスの登録を解除します。 |
SQL Server のインスタンスは既にユーティリティ コントロール ポイントをホストしていてはいけません。 |
UCP をホストする別の SQL Server インスタンスを指定します。 |
SQL Server の指定したインスタンスで TCP/IP を有効にする必要があります。 |
SQL Server の指定したインスタンスの TCP/IP を有効にします。 |
SQL Server のインスタンスでは、データベースに "sysutility_mdw" という名前を付けることはできません。 |
UCP を作成する操作により、"sysutility_mdw" という名前のユーティリティ管理データ ウェアハウス (UMDW) が作成されます。この操作では、検証規則の実行時にこの名前がコンピューター上に存在しないようにする必要があります。続行するには、"sysutility_mdw" という名前のデータベースはすべて削除するか、名前を変更する必要があります。名前変更操作の詳細については、「ALTER DATABASE (Transact-SQL)」を参照してください。 |
指定された SQL Server インスタンスのコレクション セットを停止する必要があります。 |
指定した SQL Server のインスタンスで UCP が作成されている間は、既存のコレクション セットを停止します。データ コレクターが無効になっている場合は、それを有効にして、実行中のコレクション セットを停止し、UCP の作成操作に対して検証規則を再実行します。 |
指定したインスタンスで SQL Server エージェント サービスを開始する必要があります。SQL Server の指定したインスタンスが SQL Server フェールオーバー クラスタのインスタンスの場合は、SQL Server エージェント サービスを手動で開始するように構成する必要があります。それ例外の場合は、SQL Server エージェント サービスが自動的に開始するように構成する必要があります。 |
SQL Server エージェント サービスを開始します。指定した SQL Server インスタンスが SQL Server フェールオーバー クラスターのインスタンスである場合は、SQL Server エージェント サービスを手動で開始するように構成します。それ以外の場合は、SQL Server エージェント サービスが自動的に開始されるように構成します。 |
WMI が正しく構成されている必要があります。 |
WMI の構成をトラブルシューティングするには、「SQL Server ユーティリティのトラブルシューティング」を参照してください。 |
SQL Server エージェント プロキシ アカウントには、ビルトイン アカウント (Network Service など) を使用できません。 |
SQL Server エージェント プロキシ アカウントがビルトイン アカウント (Network Service など) の場合は、Windows ドメイン アカウント sysadmin にアカウントを再割り当てします。 |
プロキシ アカウント オプションを選択した場合は、SQL Server エージェントのプロキシ アカウントが Windows ドメインの有効なアカウントであることが必要です。 |
有効な Windows ドメイン アカウントを指定します。アカウントが有効であることを確認するには、Windows ドメイン アカウントを使用して、指定した SQL Server のインスタンスにログオンします。 |
サービス アカウント オプションを選択した場合は、SQL Server エージェントのサービス アカウントに、ネットワーク サービスのようなビルトイン アカウントを使用することはできません。 |
SQL Server エージェントのサービス アカウントが、ネットワーク サービスのようにビルトイン アカウントの場合は、Windows ドメインのアカウントにアカウントを再割り当てします。 |
サービス アカウント オプションを選択した場合は、SQL Server エージェントのサービス アカウントは Windows ドメインの有効なアカウントであることが必要です。 |
有効な Windows ドメイン アカウントを指定します。アカウントが有効であることを確認するには、Windows ドメイン アカウントを使用して、指定した SQL Server のインスタンスにログオンします。 |
検証結果に失敗した条件が示されている場合は、支障をきたす問題を解決した後、[検証の再実行] をクリックして、コンピューターの構成を確認します。
検証レポートを保存するには、[レポートの保存] をクリックし、ファイルの場所を指定します。
続行するには、[次へ] をクリックします。
概要
[概要] ページには、UCP について指定した情報が表示されます。
UCP をホストする SQL Server インスタンスの名前。
SQL Server ユーティリティの名前。
SQL Server ユーティリティのデータ収集に対してジョブを実行するために使用されるアカウントの名前。
UCP 構成設定を変更するには、[前へ] をクリックします。続行するには、[次へ] をクリックします。
ユーティリティ コントロール ポイントの作成
UCP を作成する操作中、ウィザードは手順と進行状況を示します。
SQL Server インスタンスで UCP を作成する準備をしています。
ユーティリティ管理データ ウェアハウス (UMDW) を作成しています。
SQL Server UMDW を初期化しています。UMDW ファイル名は sysutility_mdw です。
UCP を構成しています。
SQL Server ユーティリティ コレクション セットを構成しています。
UCP の作成操作に関するレポートを保存するには、[レポートの保存] をクリックし、ファイルの場所を指定します。
ウィザードを完了するには、[完了] をクリックします。
UCP の作成ウィザードが完了した後、SSMS のユーティリティ エクスプローラーのナビゲーション ウィンドウでは、配置済みのデータ層アプリケーション、マネージ インスタンス、およびユーティリティの管理が、UCP ノードとその下位ノードに表示されます。UCP は自動的にマネージ インスタンスになります。
データ収集プロセスはすぐに開始されますが、ユーティリティ エクスプローラーのコンテンツ ウィンドウ内のダッシュボードとビューポイントに最初に表示されるまで最大 30 分かかる場合があります。データ コレクションは 15 分間隔で続行されます。初期データは UCP 自体からです。つまり、UCP は、SQL Server ユーティリティにおいて、最初の SQL Server マネージ インスタンスです。
ダッシュボードを表示するには、SSMS のメニューで [表示] をクリックし、[ユーティリティ エクスプローラーのコンテンツ] をクリックします。データを更新するには、ユーティリティ エクスプローラーのウィンドウでユーティリティ名を右クリックし、[更新] をクリックします。
SQL Server ユーティリティに SQL Server のインスタンスを追加で登録する方法の詳細については、「SQL Server のインスタンスを登録する方法 (SQL Server ユーティリティ)」を参照してください。SQL Server ユーティリティからマネージ インスタンスである UCP を削除するには、ユーティリティ エクスプローラーのウィンドウで [マネージ インスタンス] を選択してマネージ インスタンスのリスト ビューを設定し、ユーティリティ エクスプローラーのコンテンツ ウィンドウのリスト ビューで SQL Server インスタンス名を右クリックして、[マネージ インスタンスを削除] を選択します。
PowerShell を使用して新しいユーティリティ コントロール ポイントを作成する
次の例を使用すると、新しいユーティリティ コントロール ポイントを作成できます。
> $UtilityInstance = new-object –Type Microsoft.SqlServer.Management.Smo.Server "ComputerName\UCP-Name";
> $SqlStoreConnection = new-object -Type Microsoft.SqlServer.Management.Sdk.Sfc.SqlStoreConnection $UtilityInstance.ConnectionContext.SqlConnectionObject;
> $Utility = [Microsoft.SqlServer.Management.Utility.Utility]::CreateUtility("Utility", $SqlStoreConnection, "ProxyAccount", "ProxyAccountPassword");
> $UtilityInstance = new-object –Type Microsoft.SqlServer.Management.Smo.Server "ComputerName\UCP-Name";
> $SqlStoreConnection = new-object -Type Microsoft.SqlServer.Management.Sdk.Sfc.SqlStoreConnection $UtilityInstance.ConnectionContext.SqlConnectionObject;
> $Utility = [Microsoft.SqlServer.Management.Utility.Utility]::CreateUtility("Utility", $SqlStoreConnection, "ProxyAccount", "ProxyAccountPassword");