使用 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
設定並執行此範例
執行此指令碼:
使用系統管理權限開啟 Windows PowerShell 主控台。
瀏覽至包含範例的資料夾。
瀏覽至 SQLMonitoringQueryCmdlets 範例資料夾的 Scripts 目錄。
執行下列命令:
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