Interrogare il database di monitoraggio SQL tramite Windows PowerShell
In questo esempio viene mostrato come utilizzare lo scripting SQL per creare un cmdlet di Windows PowerShell standard per il recupero dei dati di monitoraggio. L'esempio consente inoltre di comprendere le visualizzazioni di SQL fornite da Windows Server AppFabric. L'esempio funziona con qualsiasi applicazione. Si consiglia di utilizzare l'Applicazione di esempio di Windows Server AppFabric comune, creata per l'utilizzo con gli esempi di AppFabric. Per individuare questa applicazione, passare alla cartella <samples>\SampleApplication\OrderApplication, in cui <samples> è il percorso nel quale sono stati installati gli esempi di AppFabric.
Nota
Gli esempi vengono forniti solo per scopi didattici. Non sono destinati a essere utilizzati in un ambiente di produzione e non sono stati testati in un ambiente di produzione. Microsoft non fornisce supporto tecnico per questi esempi.
Prerequisiti
Gli utenti dovranno disporre di una certa conoscenza dello scripting di Windows PowerShell e dei comandi di SQL. Nell'esempio si presuppone quanto segue:
Sia stato installato Windows PowerShell 2.0
Sia stato installato SQL Server 2008 Express
Sia stato installato AppFabric
Percorso e file di esempio
Scripts\ScriptCmdlets.ps1
Readme.mhtml
Installazione ed esecuzione dell'esempio
Per eseguire questo script:
Aprire la console di Windows PowerShell con privilegi amministrativi.
Passare alla cartella contenente l'esempio.
Passare alla sottodirectory Scripts della cartella degli esempi SQLMonitoringQueryCmdlets.
Eseguire i seguenti comandi:
Set-ExecutionPolicy Unrestricted Import-Module ‘.\ScriptCmdlets.ps1’
Spiegazione dell'esempio
L'esempio Query di monitoraggio espone i seguenti cmdlet:
Get-ASAppTrackedPropertyName
Get-ASAppTrackedInstance
Get-ASAppTrackedWcfEvent
Get-ASAppTrackedWfEvent
Get-ASAppTrackedPropertyName
Questo cmdlet esegue una query al database di monitoraggio per i nomi di proprietà rilevati che sono disponibili per un particolare servizio. Per un determinato servizio del flusso di lavoro, il framework di rilevamento acquisisce le proprietà per determinati eventi quali le variabili di ambiente e le variabili rilevate dall'utente. Questo cmdlet restituisce i nomi di tutte le variabili disponibili per un determinato servizio del flusso di lavoro.
Sintassi
Get-ASAppTrackedPropertyName [-Database<String>] [-MachineName<String>] [-Server <String>] [-SiteName <String>] [-VirtualPath <String>]
Parametri
Database - Parametro obbligatorio. Stringa che indica in quale database eseguire query.
MachineName - Parametro facoltativo. Stringa utilizzata per eseguire query solo per i dati di monitoraggio generati sul computer specificato.
Server - Parametro obbligatorio. Stringa che indica in quale server SQL eseguire query.
SiteName - Parametro facoltativo. Stringa utilizzata per eseguire query dei nomi delle proprietà delle istanze per il sito specificato.
VirtualPath - Parametro facoltativo. Stringa utilizzata per eseguire query dei nomi delle proprietà di istanze di servizi che si trovano nel percorso virtuale specificato.
Piping
È possibile eseguire il piping del cmdlet Get-ASAppTrackedPropertyName dal cmdlet Get-ASAppService. Get-ASAppService restituisce un oggetto ApplicationObject che può essere utilizzato come input per Get-ASAppTrackedPropertyName.
Esempi
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
Questo cmdlet consente agli utenti di eseguire query per i dati relativi alle istanze del servizio che sono state rilevate. Gli utenti possono specificare i criteri da soddisfare rispetto alle istanze rilevate per fare in modo che vengano restituite. Questo cmdlet funziona con qualsiasi ambito operativo: computer, sito, applicazione, servizio e percorso virtuale.
Sintassi
Get-ASAppTrackedInstance [-Count <Switch>] [-Database<String>] [-MachineName<String>] [-MaxResults <int>] [-ModifiedSince <DateTime>] [-Server <String>] [-SiteName <String>] [-VirtualPath <String>]
Parametri
Count - Parametro facoltativo. Flag che, quando specificato, determina la restituzione da parte del cmdlet di un conteggio di istanze che soddisfano i criteri specificati.
Database - Parametro obbligatorio. Stringa che indica in quale database eseguire query.
MachineName - Parametro facoltativo. Stringa utilizzata per eseguire query solo per i dati di monitoraggio generati sul computer specificato.
MaxResults - Parametro facoltativo. Numero intero che viene utilizzato per specificare il numero massimo di risultati visualizzati. Il valore predefinito è 50.
ModifiedSince - Parametro facoltativo. Data e ora utilizzate per eseguire query solo per le istanze modificate dopo questa data e ora.
Server - Parametro obbligatorio. Stringa che indica in quale server SQL eseguire query.
SiteName - Parametro facoltativo. Stringa utilizzata per eseguire query solo per le istanze per il sito specificato.
VirtualPath - Parametro facoltativo. Stringa utilizzata per eseguire query solo per le istanze che si trovano nel percorso virtuale specificato.
Piping
È possibile eseguire il piping del cmdlet Get-ASAppTrackedInstance dal cmdlet Get-ASAppService. Get-ASAppService restituisce un oggetto ApplicationObject che può essere utilizzato come input per Get-ASAppTrackedInstance.
Esempi
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
Questo cmdlet esegue query al database di monitoraggio per i dati eventi WF. Questo cmdlet funziona con qualsiasi ambito operativo: computer, sito, applicazione, servizio e percorso virtuale.
Sintassi
Get-ASAppTrackedWcfEvent [-Count <Switch>] [-Database<String>] [-EmitTimeFrom <DateTime>] [-EmitTimeTo <DateTime>] [-MachineName<String>] [-MaxResults <int>] [-Server <String>] [-SiteName <String>] [-VirtualPath <String>]
Parametri
Count - Parametro facoltativo. Flag che, quando specificato, determina la restituzione da parte del cmdlet di un conteggio di eventi WCF che soddisfano i criteri specificati.
Database - Parametro obbligatorio. Stringa che indica in quale database eseguire query.
EmitTimeFrom - Parametro facoltativo. Data e ora utilizzate per eseguire query solo per gli eventi WCF emessi dopo questa data e ora.
EmitTimeTo - Parametro facoltativo. Data e ora utilizzate per eseguire query solo per gli eventi WCF emessi prima di questa data e ora.
MachineName - Parametro facoltativo. Stringa utilizzata per eseguire query solo per gli eventi WCF generati sul computer specificato.
MaxResults - Parametro facoltativo. Numero intero che viene utilizzato per specificare il numero massimo di risultati visualizzati. Il valore predefinito è 50.
Server - Parametro obbligatorio. Stringa che indica in quale server SQL eseguire query.
SiteName - Parametro facoltativo. Stringa utilizzata per eseguire query solo per gli eventi WCF generati sul sito specificato.
VirtualPath - Parametro facoltativo. Stringa utilizzata per eseguire query solo per gli eventi WCF generati nel percorso virtuale specificato.
Piping
È possibile eseguire il piping del cmdlet Get-ASAppTrackedWcfEvent dal cmdlet Get-ASAppService. Get-ASAppService restituisce un oggetto ApplicationObject che può essere utilizzato come input per Get-ASAppTrackedWcfEvent.
Esempi
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
Questo cmdlet esegue query al database di monitoraggio per i dati eventi WF. Questo cmdlet funziona con qualsiasi ambito operativo: computer, sito, applicazione, servizio e percorso virtuale.
Sintassi
Get-ASAppTrackedWfEvent [-Count <Switch>] [-Database<String>] [-EmitTimeFrom <DateTime>] [-EmitTimeTo <DateTime>] [-MachineName<String>] [-MaxResults <int>] [-Server <String>] [-SiteName <String>] [-VirtualPath <String>]
Parametri
Count - Parametro facoltativo. Flag che, quando specificato, determina la restituzione da parte del cmdlet di un conteggio di eventi WF che soddisfano i criteri specificati.
Database - Parametro obbligatorio. Stringa che indica in quale database eseguire query.
EmitTimeFrom - Parametro facoltativo. Data e ora utilizzate per eseguire query solo per gli eventi WF emessi dopo questa data e ora.
EmitTimeTo - Parametro facoltativo. Data e ora utilizzate per eseguire query solo per gli eventi WF emessi prima di questa data e ora.
MachineName - Parametro facoltativo. Stringa utilizzata per eseguire query solo per gli eventi WF emessi sul computer specificato.
MaxResults - Parametro facoltativo. Numero intero che viene utilizzato per specificare il numero massimo di risultati visualizzati. Il valore predefinito è 50.
Server - Parametro obbligatorio. Stringa che indica in quale server SQL eseguire query.
SiteName - Parametro facoltativo. Stringa utilizzata per eseguire query solo per gli eventi WF generati sul sito specificato.
VirtualPath - Parametro facoltativo. Stringa utilizzata per eseguire query solo per gli eventi WF generati nel percorso virtuale specificato.
Piping
È possibile eseguire il piping del cmdlet Get-ASAppTrackedWfEvent dal cmdlet Get-ASAppService. Get-ASAppService restituisce un oggetto ApplicationObject che può essere utilizzato come input per Get-ASAppTrackedWfEvent.
Esempio
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
Rimozione dell'esempio
Per rimuovere questo esempio, eliminare i file e ripristinare il criterio di esecuzione al relativo livello precedente oppure all'impostazione predefinita per Windows PowerShell con il seguente comando:
Set-ExecutionPolicy Default
2011-12-05