分享方式:


使用 Windows PowerShell 來查詢 SQL 監控資料庫

此範例顯示如何使用 SQL 指令碼處理方式來建立用於擷取監控資料的典型 Windows PowerShell Cmdlet。它也可以協助您了解 Microsoft AppFabric 1.1 for Windows Server 提供的 SQL 檢視。此範例可搭配任何應用程式使用。我們建議通用 AppFabric 範例應用程式,它是建立來搭配 AppFabric 範例使用。若要尋找此應用程式,請瀏覽至 [<samples>\SampleApplication\OrderApplication] 資料夾,其中 <samples> 是您安裝 AppFabric 範例的路徑。

注意

提供的範例僅適用於教學用途。請勿將範例用於生產環境,因為這些範例並未在生產環境中測試。Microsoft 不對這些範例提供技術支援。

必要條件

使用者必須對 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’
    

了解此範例

Monitoring Query 範例公開下列 Cmdlet:

  • Get-ASAppTrackedPropertyName

  • Get-ASAppTrackedInstance

  • Get-ASAppTrackedWcfEvent

  • Get-ASAppTrackedWfEvent

Get-ASAppTrackedPropertyName

此 Cmdlet 會查詢監控資料庫以尋找可供特定服務使用的追蹤屬性名稱。對於已給定的工作流程服務,追蹤架構會擷取特定事件上的屬性 (例如,環境變數與使用者追蹤的變數)。此 Cmdlet 會傳回可供給定之工作流程服務使用的所有變數。

語法

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

參數

Database - 必要參數。代表要查詢之資料庫的字串。

MachineName - 可省略的參數。只用來查詢在指定電腦上所產生之監控資料的字串。

Server - 必要參數。代表要查詢之 SQL Server 的字串。

SiteName - 可省略的參數。用來查詢指定網站之執行個體屬性名稱的字串。

VirtualPath - 可省略的參數。用來查詢位於指定之虛擬路徑 (或指定之虛擬路徑底下) 之服務執行個體屬性名稱的字串。

管道處理

您可以利用管道處理方式,使用 Get-ASAppService Cmdlet 的輸出做為 Get-ASAppTrackedPropertyName Cmdlet 的輸入。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

此 Cmdlet 可讓使用者查詢追蹤之服務執行個體的相關資料。使用者可以指定傳回的追蹤執行個體必須符合的條件。此 Cmdlet 可在任何操作範圍執行:電腦、網站、應用程式、服務與虛擬路徑。

語法

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

參數

Count - 可省略的參數。指定此旗標時,Cmdlet 會傳回符合指定條件的執行個體計數。

Database - 必要參數。代表要查詢之資料庫的字串。

MachineName - 可省略的參數。只用來查詢在指定電腦上所產生之監控資料的字串。

MaxResults - 可省略的參數。用來指定顯示之結果數目上限的整數。預設值為 50。

ModifiedSince - 可省略的參數。只用來查詢在此日期時間後修改過之執行個體的日期時間。

Server - 必要參數。代表要查詢之 SQL Server 的字串。

SiteName - 可省略的參數。只用來查詢指定網站之執行個體的字串。

VirtualPath - 可省略的參數。只用來查詢位於指定之虛擬路徑 (或指定之虛擬路徑底下) 之執行個體的字串。

管道處理

您可以利用管道處理方式,使用 Get-ASAppService Cmdlet 的輸出做為 Get-ASAppTrackedInstance Cmdlet 的輸入。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

此 Cmdlet 可查詢監控資料庫中的 WCF 事件資料。此 Cmdlet 可在任何操作範圍執行:電腦、網站、應用程式、服務與虛擬路徑。

語法

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

參數

Count - 可省略的參數。指定此旗標時,Cmdlet 會傳回符合指定條件的 WCF 事件計數。

Database - 必要參數。代表要查詢之資料庫的字串。

EmitTimeFrom - 可省略的參數。只用來查詢在此日期時間後產生之 WCF 事件的日期時間。

EmitTimeTo - 可省略的參數。只用來查詢在此日期時間前產生之 WCF 事件的日期時間。

MachineName - 可省略的參數。只用來查詢在指定電腦上所產生之 WCF 事件的字串。

MaxResults - 可省略的參數。用來指定顯示之結果數目上限的整數。預設值為 50。

Server - 必要參數。代表要查詢之 SQL Server 的字串。

SiteName - 可省略的參數。只用來查詢在指定網站上所產生之 WCF 事件的字串。

VirtualPath - 可省略的參數。只用來查詢位於指定之虛擬路徑 (或指定之虛擬路徑底下) 所產生之 WCF 事件的字串。

管道處理

您可以利用管道處理方式,使用 Get-ASAppService Cmdlet 的輸出做為 Get-ASAppTrackedWcfEvent Cmdlet 的輸入。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

此 Cmdlet 可查詢監控資料庫中的 WF 事件資料。此 Cmdlet 可在任何操作範圍執行:電腦、網站、應用程式、服務與虛擬路徑。

語法

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

參數

Count - 可省略的參數。指定此旗標時,Cmdlet 會傳回符合指定條件的 WF 事件計數。

Database - 必要參數。代表要查詢之資料庫的字串。

EmitTimeFrom - 可省略的參數。只用來查詢在此日期時間後產生之 WF 事件的日期時間。

EmitTimeTo - 可省略的參數。只用來查詢在此日期時間前產生之 WF 事件的日期時間。

MachineName - 可省略的參數。只用來查詢在指定電腦上所產生之 WF 事件的字串。

MaxResults - 可省略的參數。用來指定顯示之結果數目上限的整數。預設值為 50。

Server - 必要參數。代表要查詢之 SQL Server 的字串。

SiteName - 可省略的參數。只用來查詢在指定網站上所產生之 WF 事件的字串。

VirtualPath - 可省略的參數。只用來查詢位於指定之虛擬路徑 (或指定之虛擬路徑底下) 所產生之 WF 事件的字串。

管道處理

您可以利用管道處理方式,使用 Get-ASAppService Cmdlet 的輸出做為 Get-ASAppTrackedWfEvent Cmdlet 的輸入。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