使用 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
设置和运行本示例
运行此脚本:
使用管理权限打开 Windows PowerShell 控制台。
导航到包含本示例的文件夹。
导航到 SQLMonitoringQueryCmdlets 示例文件夹的 Scripts 子目录。
执行以下命令:
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