Windows PowerShell을 사용하여 SQL 모니터링 데이터베이스 쿼리

이 샘플에서는 SQL 스크립팅을 사용하여 모니터링 데이터를 검색하는 일반적인 Windows PowerShell cmdlet을 만드는 방법을 보여 줍니다. 이 샘플은 또한 Windows Server AppFabric이 제공하는 SQL 보기를 이해하는 데도 도움이 됩니다. 이 샘플은 모든 응용 프로그램에서 작동합니다. AppFabric 샘플과 함께 사용하도록 만들어진 공통 Windows Server 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는 Get-ASAppTrackedPropertyName에 대한 입력으로 사용될 수 있는 ApplicationObject를 반환합니다.

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는 Get-ASAppTrackedInstance에 대한 입력으로 사용될 수 있는 ApplicationObject를 반환합니다.

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는 Get-ASAppTrackedWcfEvent에 대한 입력으로 사용될 수 있는 ApplicationObject를 반환합니다.

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는 Get-ASAppTrackedWfEvent에 대한 입력으로 사용될 수 있는 ApplicationObject를 반환합니다.

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