Windows PowerShell を使用した SQL 監視データベースの照会

この例は、SQL スクリプト作成を使用して、監視データを検索する一般的な Windows PowerShell コマンドレットを作成する方法を示しています。Microsoft AppFabric 1.1 for Windows Server で提供される SQL ビューの理解にも役立ちます。このサンプルは任意のアプリケーションと組み合わせることができます。AppFabric サンプル用に作成された「一般的な AppFabric サンプル アプリケーション」の使用をお勧めします。このアプリケーションを検索するには、<サンプル>\SampleApplication\OrderApplication フォルダーに移動します。ここで、<サンプル> は、AppFabric サンプルのインストール先のパスになります。

ヒント

サンプルは学習用としてのみ提供されています。運用環境での使用を目的としておらず、運用環境でのテストも行われていません。サンプルについてマイクロソフトのテクニカル サポートは提供されません。

前提条件

ユーザーが Windows PowerShell スクリプト作成および SQL コマンドについて、ある程度の知識を持っていること。サンプルでは次のことを前提としています。

  • Windows PowerShell 2.0 がインストールされている

  • SQL Server 2008 Express がインストールされている

  • AppFabric がインストールされている

サンプルの場所とファイル

  • Scripts\ScriptCmdlets.ps1

  • Readme.mhtml

このサンプルの設定と実行

このスクリプトを実行するには

  1. 管理者特権で、Windows PowerShell コンソールを開きます。

  2. サンプルが含まれているフォルダーに移動します。

  3. SQLMonitoringQueryCmdlets サンプル フォルダーの Scripts サブディレクトリに移動します。

  4. 次のコマンドを実行します。

    Set-ExecutionPolicy Unrestricted
    Import-Module ‘.\ScriptCmdlets.ps1’
    

このサンプルについて

監視クエリ サンプルには、次のコマンドレットが表示されます。

  • Get-ASAppTrackedPropertyName

  • Get-ASAppTrackedInstance

  • Get-ASAppTrackedWcfEvent

  • Get-ASAppTrackedWfEvent

Get-ASAppTrackedPropertyName

このコマンドレットは、特定のサービスに使用可能な追跡対象プロパティの名前を監視データベースに照会します。特定のワークフロー サービスでは、環境変数やユーザー追跡された変数など、特定のイベントに関するプロパティが追跡フレームワークによってキャプチャされます。このコマンドレットは、特定のワークフロー サービスで使用できる、すべての変数の名前を返します。

構文

Get-ASAppTrackedPropertyName [-Database<String>] [-MachineName<String>] [-Server <String>] [-SiteName <String>] [-VirtualPath <String>] 

パラメーター

Database - 必須のパラメーター。照会するデータベースを示す文字列。

MachineName - オプション パラメーター。指定したコンピューターで生成された監視データのみを照会するために使用される文字列。

Server - 必須のパラメーター。照会する SQL サーバーを示す文字列。

SiteName - オプション パラメーター。指定したサイトのインスタンスのプロパティ名を照会するために使用される文字列。

VirtualPath - オプション パラメーター。指定した仮想パスまたはその下位にあるサービスのインスタンスのプロパティ名を照会するために使用される文字列。

パイプ

Get-ASAppTrackedPropertyName コマンドレットは、Get-ASAppService コマンドレットからパイプされます。Get-ASAppService は、Get-ASAppTrackedPropertyName への入力として使用可能な ApplicationObject を返します。

Get-ASAppTrackedPropertyName –SiteName “Default Web Site” –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

Get-ASAppService –SiteName “Default Web Site” | Get-ASAppTrackedPropertyName –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

Get-ASAppTrackedInstance**

このコマンドレットは、追跡されたサービス インスタンスに関するデータの照会に使用します。これらが返されるように、追跡対象インスタンスとの一致条件を指定できます。このコマンドレットは次のような任意の操作スコープに対して機能します。コンピューター、サイト、アプリケーション、サービス、および仮想パス。

構文

Get-ASAppTrackedInstance [-Count <Switch>] [-Database<String>] [-MachineName<String>] [-MaxResults <int>] [-ModifiedSince <DateTime>] [-Server <String>]  [-SiteName <String>] [-VirtualPath <String>] 

パラメーター

Count - オプション パラメーター。指定すると、指定した条件に一致するインスタンスの数を返すフラグ。

Database - 必須のパラメーター。照会するデータベースを示す文字列。

MachineName - オプション パラメーター。指定したコンピューターで生成された監視データのみを照会するために使用される文字列。

MaxResults - オプション パラメーター。表示する結果の最大件数を指定するために使用される整数。既定値は 50 です。

ModifiedSince - オプション パラメーター。この日時より後に変更されたインスタンスのみを照会するために使用される日時。

Server - 必須のパラメーター。照会する SQL サーバーを示す文字列。

SiteName - オプション パラメーター。指定したサイトのインスタンスのみを照会するために使用される文字列。

VirtualPath - オプション パラメーター。指定した仮想パスまたはその下位にあるインスタンスのみを照会するために使用される文字列。

パイプ

Get-ASAppTrackedInstance コマンドレットは、Get-ASAppService コマンドレットからパイプされます。Get-ASAppService は、Get-ASAppTrackedInstance への入力として使用可能な ApplicationObject を返します。

Get-ASAppTrackedInstance –SiteName “Default Web Site” –Count –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

Get-ASAppTrackedInstance –MaxResults 10  –ModifiedSince 2-20-2010 –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

Get-ASAppService –SiteName “Default Web Site” | Get-ASAppTrackedInstance –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

Get-ASAppTrackedWcfEvent**

このコマンドレットは、監視データベースに WCF イベント データを照会します。このコマンドレットは、コンピューター、サイト、アプリケーション、サービス、仮想パスなどの任意の操作スコープに対して機能します。

構文

Get-ASAppTrackedWcfEvent [-Count <Switch>] [-Database<String>] [-EmitTimeFrom <DateTime>] [-EmitTimeTo <DateTime>] [-MachineName<String>] [-MaxResults <int>]  [-Server <String>]  [-SiteName <String>] [-VirtualPath <String>] 

パラメーター

Count - オプション パラメーター。指定すると、指定した条件に一致する WCF イベントの数を返すフラグ。

Database - 必須のパラメーター。照会するデータベースを示す文字列。

EmitTimeFrom - オプション パラメーター。この日時より後に生成された WCF イベントのみを照会するために使用される日時。

EmitTimeTo - オプション パラメーター。この日時より前に生成された WCF イベントのみを照会するために使用される日時。

MachineName - オプション パラメーター。指定したコンピューターで生成された WCF イベントのみを照会するために使用される文字列。

MaxResults - オプション パラメーター。表示する結果の最大件数を指定するために使用される整数。既定値は 50 です。

Server - 必須のパラメーター。照会する SQL サーバーを示す文字列。

SiteName - オプション パラメーター。指定したサイトで生成された WCF イベントのみを照会するために使用される文字列。

VirtualPath - オプション パラメーター。指定した仮想パスまたはその下位で生成された WCF イベントのみを照会するために使用される文字列。

パイプ

Get-ASAppTrackedWcfEvent コマンドレットは、Get-ASAppService コマンドレットからパイプされます。Get-ASAppService は、Get-ASAppTrackedWcfEvent への入力として使用可能な ApplicationObject を返します。

Get-ASAppTrackedWcfEvent –SiteName “Default Web Site” –Count  –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

Get-ASAppTrackedWcfEvent  –MaxResults 10 –EmitTimeFrom 2-20-2010 –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

Get-ASAppTrackedWcfEvent –EmitTimeFrom 2-18-2010 –EmitTimeTo 2-20-2010 –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

Get-ASAppService –SiteName “Default Web Site” | Get-ASAppTrackedWcfEvent –MaxResult 5 –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

Get-ASAppTrackedWfEvent**

このコマンドレットは、監視データベースに WF イベント データを照会します。このコマンドレットは、コンピューター、サイト、アプリケーション、サービス、仮想パスなどの任意の操作スコープに対して機能します。

構文

Get-ASAppTrackedWfEvent [-Count <Switch>] [-Database<String>] [-EmitTimeFrom <DateTime>] [-EmitTimeTo <DateTime>] [-MachineName<String>] [-MaxResults <int>] [-Server <String>] [-SiteName <String>] [-VirtualPath <String>] 

パラメーター

Count - オプション パラメーター。指定すると、指定した条件に一致する WF イベントの数を返すフラグ。

Database - 必須のパラメーター。照会するデータベースを示す文字列。

EmitTimeFrom - オプション パラメーター。この日時より後に生成された WF イベントのみを照会するために使用される日時。

EmitTimeTo - オプション パラメーター。この日時より前に生成された WF イベントのみを照会するために使用される日時。

MachineName - オプション パラメーター。指定したコンピューターで生成された WF イベントのみを照会するために使用される文字列。

MaxResults - オプション パラメーター。表示する結果の最大件数を指定するために使用される整数。既定値は 50 です。

Server - 必須のパラメーター。照会する SQL サーバーを示す文字列。

SiteName - オプション パラメーター。指定したサイトで生成された WF イベントのみを照会するために使用される文字列。

VirtualPath - オプション パラメーター。指定した仮想パスまたはその下位で生成された WF イベントのみを照会するために使用される文字列。

パイプ

Get-ASAppTrackedWfEvent コマンドレットは、Get-ASAppService コマンドレットからパイプされます。Get-ASAppService は、Get-ASAppTrackedWfEvent への入力として使用可能な ApplicationObject を返します。

Get-ASAppTrackedWfEvent –SiteName “Default Web Site” –Count –EmitTimeFrom 2-20-2010 –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

Get-ASAppTrackedWfEvent –VirtualPath “/calculator/service.xamlx” –MaxResults 10 –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

Get-ASAppTrackedWfEvent –EmitTimeFrom 2-18-2010 –EmitTimeTo 2-20-2010 –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

Get-ASAppTrackedWfEvent –Count –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

Get-ASAppService –SiteName “Default Web Site” | Get-ASAppTrackedWfEvent –Count –Server localhost\SQLExpress –Database ApplicationServerMonitoringDatabase

このサンプルの削除

このサンプルを削除するには、サンプルのすべてのファイルを削除し、実行ポリシーを前のレベルに復元するか、または次のコマンドで Windows PowerShell の既定に復元します。

Set-ExecutionPolicy Default

  2012-03-05