Выполнение запросов к базе данных наблюдения 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
Установка и запуск этого примера
Чтобы запустить сценарий, выполните следующие действия.
Откройте консоль Windows PowerShell с правами администратора.
Перейдите к папке с примером.
Перейдите к подкаталогу Scripts каталога примеров SQLMonitoringQueryCmdlets.
Выполните следующие команды:
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