使用 Windows PowerShell 查询 SQL 监控数据库

本示例介绍如何使用 SQL 脚本创建一个检索监控数据的典型 Windows PowerShell cmdlet。还帮助您了解 Windows Server AppFabric 提供的 SQL 视图。本示例适用于任何应用程序。我们建议使用常见 Windows Server 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

设置和运行本示例

运行此脚本:

  1. 使用管理权限打开 Windows PowerShell 控制台。

  2. 导航到包含本示例的文件夹。

  3. 导航到 SQLMonitoringQueryCmdlets 示例文件夹的 Scripts 子目录。

  4. 执行以下命令:

    Set-ExecutionPolicy Unrestricted
    Import-Module ‘.\ScriptCmdlets.ps1’
    

了解本示例

监控查询示例暴露以下 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 服务器。

SiteName - 可选参数。一个字符串,用于查询指定站点的实例的属性名称。

VirtualPath - 可选参数。一个字符串,用于查询指定虚拟路径下的服务的实例的属性名称。

管道传输

Get-ASAppTrackedPropertyName cmdlet 可以从 Get-ASAppService cmdlet 传输。Get-ASAppService 返回一个 ApplicationObject,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

使用此 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 服务器。

SiteName - 可选参数。一个字符串,仅用于查询指定站点的实例。

VirtualPath - 可选参数。一个字符串,仅用于查询指定虚拟路径下的实例。

管道传输

Get-ASAppTrackedInstance cmdlet 可以从 Get-ASAppService cmdlet 传输。Get-ASAppService 返回一个 ApplicationObject,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

此 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 服务器。

SiteName - 可选参数。一个字符串,仅用于查询在指定站点上生成的 WCF 事件。

VirtualPath - 可选参数。一个字符串,仅用于查询在指定虚拟路径下生成的 WCF 事件。

管道传输

Get-ASAppTrackedWcfEvent cmdlet 可以从 Get-ASAppService cmdlet 传输。Get-ASAppService 返回一个 ApplicationObject,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

此 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 服务器。

SiteName - 可选参数。一个字符串,仅用于查询在指定站点上生成的 WF 事件。

VirtualPath - 可选参数。一个字符串,仅用于查询在指定虚拟路径下生成的 WF 事件。

管道传输

Get-ASAppTrackedWfEvent cmdlet 可以从 Get-ASAppService cmdlet 传输。Get-ASAppService 返回一个 ApplicationObject,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