Выполнение запросов к базе данных наблюдения SQL с помощью Windows PowerShell

В этом примере демонстрируется использование сценариев SQL для создания типичного командлета Windows PowerShell, служащего для получения данных наблюдения. Он также позволяет ознакомиться с представлениями SQL, предоставляемыми в Windows Server AppFabric. Этот пример будет работать с любым приложением. Рекомендуется использовать Общий пример приложения Windows Server AppFabric, который был создан для использования с примерами AppFabric. Это приложение находится в папке <примеры>\SampleApplication\OrderApplication, где <примеры> — это путь установки примеров AppFabric.

Примечание

Примеры предназначены только для образовательных целей. Они не предназначены для использования в рабочей среде и не тестировались в ней. Корпорация Майкрософт не предоставляет техническую поддержку для этих примеров.

Предварительные условия

Пользователи должны иметь определенные знания в использовании сценариев Windows PowerShell и команд SQL. В примере предполагается следующее:

  • Установлена среда Windows PowerShell 2.0.

  • Установлен экспресс-выпуск SQL Server 2008.

  • Установлена платформа AppFabric.

Расположение примера и файлов

  • Scripts\ScriptCmdlets.ps1

  • Readme.mhtml

Установка и запуск этого примера

Чтобы запустить сценарий, выполните следующие действия.

  1. Откройте консоль Windows PowerShell с правами администратора.

  2. Перейдите к папке с примером.

  3. Перейдите к подкаталогу Scripts каталога примеров SQLMonitoringQueryCmdlets.

  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 Server.

SiteName — необязательный параметр. Строка, используемая для запроса имен свойств экземпляров для указанного сайта.

VirtualPath — необязательный параметр. Строка, используемая для запроса имен свойств экземпляров служб, расположенных по указанному виртуальному пути или в его вложенных объектах.

Конвейеризация

Командлет Get-ASAppTrackedPropertyName может использовать данные, переданные из командлета Get-ASAppService. Командлет Get-ASAppService возвращает объект ApplicationObject, который может использоваться в качестве входных данных командлета Get-ASAppTrackedPropertyName.

Примеры

    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 Server.

SiteName — необязательный параметр. Строка, используемая для запроса экземпляров только для указанного сайта.

VirtualPath — необязательный параметр. Строка, используемая для запроса экземпляров, расположенных только по указанному виртуальному пути или в его вложенных объектах.

Конвейеризация

Командлет Get-ASAppTrackedInstance может использовать данные, переданные из командлета Get-ASAppService. Командлет Get-ASAppService возвращает объект ApplicationObject, который может использоваться в качестве входных данных командлета Get-ASAppTrackedInstance.

Примеры

    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 Server.

SiteName — необязательный параметр. Строка, используемая для запроса событий WCF только из указанного сайта.

VirtualPath — необязательный параметр. Строка, используемая для запроса событий WCF только из указанного виртуального пути или его вложенных объектов.

Конвейеризация

Командлет Get-ASAppTrackedWcfEvent может использовать данные, переданные из командлета Get-ASAppService. Командлет Get-ASAppService возвращает объект ApplicationObject, который может использоваться в качестве входных данных командлета Get-ASAppTrackedWcfEvent.

Примеры

    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 Server.

SiteName — необязательный параметр. Строка, используемая для запроса событий WF только из указанного сайта.

VirtualPath — необязательный параметр. Строка, используемая для запроса событий WF только из указанного виртуального пути или его вложенных объектов.

Конвейеризация

Командлет Get-ASAppTrackedWfEvent может использовать данные, переданные из командлета Get-ASAppService. Командлет Get-ASAppService возвращает объект ApplicationObject, который может использоваться в качестве входных данных командлета Get-ASAppTrackedWfEvent.

Пример

    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

  2011-12-05