Consultando o banco de dados de monitoramento SQL usando o Windows PowerShell
Esse exemplo descreve como usar scripts de SQL para criar um cmdlet comum do Windows PowerShell que recupera os dados de monitoramento. Ele também ajuda você a compreender as exibições do SQL que o Windows Server AppFabric oferece. Esse exemplo funcionará com qualquer aplicativo. É recomendável o Aplicativo comum de exemplo do Windows Server AppFabric, que foi criado para ser usado com exemplos do AppFabric. Para encontrar esse aplicativo, navegue até a pasta <exemplos>\SampleApplication\OrderApplication, onde <exemplos> é o caminho no qual você instalou os exemplos do AppFabric.
Observação
Os exemplos são fornecidos apenas para fins educacionais. Eles não devem ser usados em um ambiente de produção e não foram testados em um ambiente de produção. A Microsoft não oferece suporte técnico para esses exemplos.
Pré-requisitos
Os usuários devem ter conhecimento de scripts do Windows PowerShell e comandos do SQL. O exemplo pressupõe o seguinte:
que o Windows PowerShell 2.0 esteja instalado
que o SQL Server 2008 Express esteja instalado
que o AppFabric esteja instalado
Localização do exemplo e arquivos
Scripts\ScriptCmdlets.ps1
Readme.mhtml
Configurando e executando esse exemplo
Para executar este script:
Abra o console do Windows PowerShell com privilégios administrativos.
Vá até a pasta que contém o exemplo.
Vá até o subdiretório Scripts da pasta de exemplos SQLMonitoringQueryCmdlets.
Execute os seguintes comandos:
Set-ExecutionPolicy Unrestricted Import-Module ‘.\ScriptCmdlets.ps1’
Noções básicas sobre esse exemplo
O exemplo de Consulta de monitoramento expõe os seguintes cmdlets:
Get-ASAppTrackedPropertyName
Get-ASAppTrackedInstance
Get-ASAppTrackedWcfEvent
Get-ASAppTrackedWfEvent
Get-ASAppTrackedPropertyName
Esse cmdlet consulta o banco de dados de armazenamento para obter os nomes das propriedades acompanhadas que estão disponíveis para um serviço particular. Para um determinado serviço de fluxo de trabalho, a estrutura de rastreamento captura as propriedades em certos eventos como variáveis de ambiente e variáveis rastreadas pelos usuários. Esse cmdlet retorna os nomes de todas as variáveis que estão disponíveis para um determinado serviço de fluxo de trabalho.
Sintaxe
Get-ASAppTrackedPropertyName [-Database<String>] [-MachineName<String>] [-Server <String>] [-SiteName <String>] [-VirtualPath <String>]
Parâmetros
Database - Parâmetro obrigatório. Uma cadeia de caracteres que indica qual banco de dados consultar.
MachineName - Parâmetro opcional. Uma cadeia de caracteres usada para consultar apenas os dados de monitoramento que foram gerados na máquina especificada.
Server - Parâmetro obrigatório. Uma cadeia de caracteres que indica qual SQL server consultar.
SiteName - Parâmetro opcional. Uma cadeia de caracteres usada para consultar os nomes de propriedade de instâncias para o site especificado.
VirtualPath - Parâmetro opcional. Uma cadeia de caracteres usada para consultar os nomes de propriedade de instâncias de serviços localizados no ou sob o caminho virtual especificado.
Piping
O cmdlet Get-ASAppTrackedPropertyName pode ser conectado a partir do cmdlet Get-ASAppService. Get-ASAppService retorna um ApplicationObject que pode ser usado como entrada para Get-ASAppTrackedPropertyName.
Exemplos
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
Esse cmdlet permite que os usuários façam consultas em dados sobre instâncias de serviço que foram rastreadas. Os usuários podem especificar os critérios que devem corresponder às instâncias para que elas sejam retornadas. Esse cmdlet funciona em todos os escopos operacionais: Máquina, Site, Aplicativo, Serviço e Caminho virtual.
Sintaxe
Get-ASAppTrackedInstance [-Count <Switch>] [-Database<String>] [-MachineName<String>] [-MaxResults <int>] [-ModifiedSince <DateTime>] [-Server <String>] [-SiteName <String>] [-VirtualPath <String>]
Parâmetros
Count - Parâmetro opcional. Um sinalizador que, quando especificado, faz com que o cmdlet retorne uma contagem de instâncias que corresponde aos critérios especificados.
Database - Parâmetro obrigatório. Uma cadeia de caracteres que indica qual banco de dados consultar.
MachineName - Parâmetro opcional. Uma cadeia de caracteres usada para consultar apenas os dados de monitoramento que foram gerados na máquina especificada.
MaxResults - Parâmetro opcional. Um número inteiro usado para especificar o número máximo de resultados exibidos. O padrão é 50.
ModifiedSince - Parâmetro opcional. Uma data/hora usada para consultar apenas as instâncias que foram modificadas após essa data/hora.
Server - Parâmetro obrigatório. Uma cadeia de caracteres que indica qual SQL server consultar.
SiteName - Parâmetro opcional. Uma cadeia de caracteres usada para consultar somente as instâncias para o site especificado.
VirtualPath - Parâmetro opcional. Uma cadeia de caracteres usada para consultar somente as instâncias localizadas no ou sob o caminho virtual especificado.
Piping
O cmdlet Get-ASAppTrackedInstance pode ser conectado a partir do cmdlet Get-ASAppService. Get-ASAppService retorna um ApplicationObject que pode ser usado como entrada para Get-ASAppTrackedInstance.
Exemplos
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
Esse cmdlet consulta o banco de dados de monitoramento em busca de dados de evento do WF. Esse cmdlet funciona em todos os escopos operacionais: Máquina, Site, Aplicativo, Serviço e Caminho virtual.
Sintaxe
Get-ASAppTrackedWcfEvent [-Count <Switch>] [-Database<String>] [-EmitTimeFrom <DateTime>] [-EmitTimeTo <DateTime>] [-MachineName<String>] [-MaxResults <int>] [-Server <String>] [-SiteName <String>] [-VirtualPath <String>]
Parâmetros
Count - Parâmetro opcional. Um sinalizador que, quando especificado, faz com que o cmdlet retorne uma contagem de eventos WCF que corresponde aos critérios especificados.
Database - Parâmetro obrigatório. Uma cadeia de caracteres que indica qual banco de dados consultar.
EmitTimeFrom - Parâmetro opcional. Uma data/hora usada para consultar apenas os eventos WCF que foram emitidos após essa data/hora.
EmitTimeTo - Parâmetro opcional. Uma data/hora usada para consultar apenas os eventos WCF que foram emitidos antes dessa data/hora.
MachineName - Parâmetro opcional. Uma cadeia de caracteres usada para consultar apenas os eventos WCF que foram gerados na máquina especificada.
MaxResults - Parâmetro opcional. Um número inteiro usado para especificar o número máximo de resultados exibidos. O padrão é 50.
Server - Parâmetro obrigatório. Uma cadeia de caracteres que indica qual SQL server consultar.
SiteName - Parâmetro opcional. Uma cadeia de caracteres usada para consultar apenas os eventos WCF que foram gerados no site especificado.
VirtualPath - Parâmetro opcional. Uma cadeia de caracteres usada para consultar apenas os eventos WCF que foram gerados no ou sob o caminho virtual especificado.
Piping
O cmdlet Get-ASAppTrackedWcfEvent pode ser conectado a partir do cmdlet Get-ASAppService. Get-ASAppService retorna um ApplicationObject que pode ser usado como entrada para Get-ASAppTrackedWcfEvent.
Exemplos
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
Esse cmdlet consulta o banco de dados de monitoramento em busca de dados de evento do WCF. Esse cmdlet funciona em todos os escopos operacionais: Máquina, Site, Aplicativo, Serviço e Caminho virtual.
Sintaxe
Get-ASAppTrackedWfEvent [-Count <Switch>] [-Database<String>] [-EmitTimeFrom <DateTime>] [-EmitTimeTo <DateTime>] [-MachineName<String>] [-MaxResults <int>] [-Server <String>] [-SiteName <String>] [-VirtualPath <String>]
Parâmetros
Count - Parâmetro opcional. Um sinalizador que, quando especificado, faz com que o cmdlet retorne uma contagem de eventos WF que corresponde aos critérios especificados.
Database - Parâmetro obrigatório. Uma cadeia de caracteres que indica qual banco de dados consultar.
EmitTimeFrom - Parâmetro opcional. Uma data/hora usada para consultar apenas os eventos WF que foram emitidos após essa data/hora.
EmitTimeTo - Parâmetro opcional. Uma data/hora usada para consultar apenas os eventos WF que foram emitidos antes dessa data/hora.
MachineName - Parâmetro opcional. Uma cadeia de caracteres usada para consultar apenas os eventos WF que foram emitidos no computador especificado.
MaxResults - Parâmetro opcional. Um número inteiro usado para especificar o número máximo de resultados exibidos. O padrão é 50.
Server - Parâmetro obrigatório. Uma cadeia de caracteres que indica qual SQL server consultar.
SiteName - Parâmetro opcional. Uma cadeia de caracteres usada para consultar apenas os eventos WF que foram gerados no site especificado.
VirtualPath - Parâmetro opcional. Uma cadeia de caracteres usada para consultar apenas os eventos WF que foram gerados no ou sob o caminho virtual especificado.
Piping
O cmdlet Get-ASAppTrackedWfEvent pode ser conectado a partir do cmdlet Get-ASAppService. Get-ASAppService retorna um ApplicationObject que pode ser usado como entrada para Get-ASAppTrackedWfEvent.
Exemplo
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
Removendo esse exemplo
Para remover esta amostra, exclua seus arquivos e reverta a diretiva de execução para seu nível anterior ou para o padrão do Windows PowerShell com o seguinte comando:
Set-ExecutionPolicy Default
2011-12-05