데이터베이스 보관 및 제거

이 섹션에서는 Windows Server AppFabric에서 모니터링 저장소(ApplicationServerMonitoring의 기본 이름)를 보관 및 제거하거나 지속성 저장소(ApplicationServerPersistence의 기본 이름)만 제거하는 방법에 대해 설명합니다. 모니터링 또는 지속성 저장소 크기가 증가함에 따라 많은 데이터가 누적될 수 있습니다. 최고 성능을 유지하려면 특정 기준에 따라 오래된 모니터링 데이터를 보관하거나, AppFabric 모니터링 및 지속성 저장소에서 각각 부실 인스턴스 지속성 데이터를 제거할 수 있습니다.

AppFabric을 사용하면 이 작업에 맞게 특별히 고안된 AppFabric과 함께 제공되는 Windows PowerShell cmdlet을 사용하여 저장소만 보관 및 제거할 수 있습니다. 보관 데이터는 모니터링 저장소의 컨텍스트에서만 적용됩니다. 모니터링 데이터는 사실상 기록 데이터이므로 보관하는 것이 좋으며 AppFabric 대시보드에는 WCF 호출 기록 섹션/추적된 이벤트 페이지 및 WF 인스턴스 기록 섹션/추적된 WF 인스턴스 페이지에 기록 모니터링 메트릭이 표시됩니다. 그러나 지속된 WF 인스턴스 섹션/지속된 WF 인스턴스 페이지에 표시된 메트릭은 현재 지속된 워크플로 인스턴스에 대한 실시간 라이브 데이터입니다. 지속된 워크플로 인스턴스 정보를 보관한 다음 나중에 이러한 워크플로 인스턴스가 완료되고 더 이상 존재하지 않을 시점에 보는 것은 그다지 유용하지 않습니다. 따라서 모든 보관 관련 cmdlet은 모니터링 저장소에만 적용됩니다. 제거 cmdlet 기능은 모니터링 및 지속성 저장소에 모두 적용됩니다. AppFabric 자동 데이터 저장소 제거 기능은 Microsoft SQL Server를 사용하여 해당 모니터링을 저장하도록 구성된 AppFabric 설치에만 사용될 수 있습니다. 모니터링 저장소는 자동 제거 기능이 있는 유일한 AppFabric 데이터베이스입니다. 지속성 저장소에서는 이 기능을 사용하도록 구성할 수 없습니다.

데이터베이스 제거 및 보관 Cmdlet

다음과 같은 Windows PowerShell용 AppFabric cmdlet을 사용하여 AppFabric 저장소 제거 및 보관과 연결된 다양한 작업을 수행합니다.

Cmdlet 설명

Clear-ASMonitoringSqlDatabase

모니터링 데이터베이스에서 데이터를 제거합니다. 선택적으로, 제거된 데이터를 보관 데이터베이스에 전송할 수 있습니다.

Set-ASMonitoringSqlDatabaseArchiveConfiguration

모니터링 데이터베이스를 대상 보관 데이터베이스와 연결합니다. 대상 보관 데이터베이스는 기존의 초기화된 모니터링 데이터베이스여야 합니다.

Get-ASMonitoringSqlDatabaseArchiveConfiguration

보관 구성(기본적으로 보관 대상 데이터베이스를 식별하는 연결 문자열)이 있는 경우 지정된 모니터링 데이터베이스에서 이를 반환합니다.

Remove-ASMonitoringSqlDatabaseArchiveConfiguration

모니터링 데이터베이스의 보관 데이터베이스에 대한 구성 정보를 제거합니다. 이 경우 보관 구성이 이전에 Set-ASMonitoringSqlDatabaseArchiveConfiguration을 사용하여 구성되었다고 가정합니다.

Remove-ASAppServiceInstance

지속성 저장소에서 "부실" 인스턴스 데이터를 제거합니다. 제거된 인스턴스 데이터에 대한 보관 옵션은 없습니다.

다음 섹션에서는 이러한 각 cmdlet에 대해 자세히 설명하고 cmdlet이 사용되는 방법을 보여 주는 예를 제공합니다.

모니터링 저장소 구성 설정, 가져오기 및 제거

Set-ASMonitoringSqlDatabaseArchiveConfiguration은 연결된 보관 대상 데이터베이스를 사용하여 지정된 모니터링 데이터베이스를 구성합니다. 보관 대상 데이터베이스는 기존의 초기화된 모니터링 데이터베이스여야 합니다. 이 cmdlet은 기본 및 보관 데이터베이스에 모두 모니터링 데이터베이스 아티팩트가 포함되어 있고 해당 버전이 일치하는지 확인합니다.

Get-ASMonitoringSqlDatabaseArchiveConfiguration은 모니터링 데이터베이스에서 보관 데이터베이스 구성을 검색합니다.

Remove-ASMonitoringSqlDatabaseArchiveConfiguration은 모니터링 데이터베이스의 보관 데이터베이스에 대한 구성 정보를 제거합니다.

Set-ASMonitoringSqlDatabaseArchiveConfiguration

구문 1:

Set-ASMonitoringSqlDatabaseArchiveConfiguration -ArchiveDatabase <String> -Database <String> [-Confirm] [-LinkedArchiveServer <String>] [-Server <String>] [-WhatIf] [<CommonParameters>]

구문 2:

Set-ASMonitoringSqlDatabaseArchiveConfiguration -ArchiveDatabase <String> -ConnectionString <String> [-Confirm] [-LinkedArchiveServer <String>] [-WhatIf] [<CommonParameters>]
매개 변수 설명

ArchiveDatabase

대상 보관 데이터베이스의 이름입니다.

Database

보관을 구성할 기본 데이터베이스의 이름입니다. ConnectionString이 지정된 경우에만 선택 사항입니다.

ConnectionString

기본 모니터링 데이터베이스의 연결 문자열입니다.

LinkedArchiveServer

대상 보관 데이터베이스를 호스트하는 SQL Server의 이름입니다.

Server

기본 모니터링 데이터베이스를 호스트하는 SQL Server의 이름입니다.

WhatIf

데이터베이스에 연결하지만 실제로 보관을 구성하지는 않습니다. 선택 사항.

예제

다음 예에서는 기본 모니터링 데이터베이스 ApplicationServerMonitoring에 대한 보관 구성을 설정합니다. 대상 보관 데이터베이스는 ArchiveMonitoringDatabase입니다. 보관 구성을 설정하기 전에 작업을 확인하는 메시지가 사용자에게 표시됩니다.

Set-ASMonitoringSqlDatabaseArchiveConfiguration –ArchiveDatabase ArchiveMonitoringDatabase –Database ApplicationServerMonitoring

Get-ASMonitoringSqlDatabaseArchiveConfiguration

구문 1:

Get-ASMonitoringSqlDatabaseArchiveConfiguration -Database <String> [-Server <String>] [<CommonParameters>]

구문 2:

Get-ASMonitoringSqlDatabaseArchiveConfiguration -ConnectionString <String> [<CommonParameters>]
매개 변수 설명

Database

해당 보관 구성을 검색할 기본 데이터베이스의 이름입니다. 연결 문자열이 지정된 경우에만 선택 사항입니다.

Server

기본 모니터링 데이터베이스를 호스트하는 SQL Server의 이름입니다. 선택 사항이므로 지정되지 않은 경우 이 매개 변수의 기본값은 로컬 컴퓨터로 설정됩니다.

ConnectionString

기본 모니터링 데이터베이스의 연결 문자열입니다. 데이터베이스가 지정되고 서버가 지정된 경우에만 선택 사항이고, 그렇지 않으면 기본적으로 로컬 컴퓨터로 설정됩니다.

Remove-ASMonitoringSqlDatabaseArchiveConfiguration

구문 1:

Remove-MonitoringDatabaseArchiveConfiguration [-Database <String>] [–Server <String>] [-Confirm <Switch>][-ConnectionString<String>]
매개 변수 설명

Database

해당 보관 구성을 검색할 기본 데이터베이스의 이름입니다. 연결 문자열이 지정된 경우에만 선택 사항입니다.

Server

기본 모니터링 데이터베이스를 호스트하는 SQL Server의 이름입니다. 선택 사항이므로 지정되지 않은 경우 이 매개 변수의 기본값은 로컬 컴퓨터로 설정됩니다.

Confirm

지정된 경우 사용자가 링크 제거를 확인해야 합니다.

ConnectionString

기본 모니터링 데이터베이스의 연결 문자열입니다. 데이터베이스 매개 변수가 지정되고 서버가 지정된 경우에만 선택적으로 사용할 수 있고, 그렇지 않으면 기본적으로 로컬 컴퓨터로 설정됩니다.

예제

다음 예에서는 기본 모니터링 데이터베이스 ApplicationServerMonitoring에 대한 보관 구성을 제거합니다.

Remove-MonitoringDatabaseArchiveConfiguration –Database “ApplicationServerMonitoring”

모니터링 저장소 제거 및 보관

Clear-ASMonitoringSqlDatabase cmdlet을 사용하여 모니터링 데이터베이스에서 데이터를 제거하고, 선택적으로 제거된 데이터를 원격 보관 대상 모니터링 데이터베이스로 전송할 수 있습니다.

Clear-ASMonitoringSqlDatabase

구문 1:

Clear-ASMonitoringSqlDatabase -Database <String> [-Archive] [-CutoffTime <DateTime>] [-MaxAge <TimeSpan>] [-PurgeMode {<EventAgeMode | None | WFInstanceCompletedMode}] [-Server <String>] [<CommonParameters> [-WhatIf]]

구문 2:

Clear-ASMonitoringSqlDatabase -ConnectionString <String> [-Archive] [-CutoffTime <DateTime>] [-MaxAge <TimeSpan>] [-PurgeMode {<EventAgeMode | None | WFInstanceCompletedMode>}] [-WhatIf] [<CommonParameters>]
매개 변수 설명

Database

제거할 데이터베이스의 이름입니다. ConnectionString이 지정된 경우에만 선택 사항입니다.

ConnectionString

제거할 데이터베이스에 대한 연결 문자열입니다. DatabaseServer가 지정된 경우 선택 사항입니다.

Archive

제거할 데이터는 먼저 Set-ASMonitoringSqlDatabaseArchiveConfiguration을 사용하여 미리 구성된 보관 데이터베이스에 보관됩니다. 선택 사항입니다.

CutoffTime

데이터베이스에서 경계 시간 전에 내보낸 모든 이벤트가 제거됩니다. WFInstanceCompletedMode에 있을 때 활성 인스턴스에 관련된 WF 이벤트는 보존됩니다. 이 매개 변수는 선택 사항이며 지정되지 않은 경우 해당 값은 현재 시간에서 MaxAge 매개 변수를 빼서 계산합니다.

MaxAge

시간 기준 제거의 대상이 될 때까지 이벤트가 모니터링 데이터베이스에서 유지되는 시간입니다. 이 매개 변수는 선택 사항이고 기본적으로 0으로 설정됩니다.

PurgeMode

제거를 수행하는 방법을 결정합니다. 두 가지 옵션이 있습니다.

  • EventAgeMode – 모든 WCF 및 WF 이벤트를 제거하고 해당 인스턴스가 완료되었는지 여부에 관계없이 WF 인스턴스 레코드를 제거합니다. 이벤트는 이벤트 보관 기간에 따라 유지되거나 삭제됩니다.

  • WFInstanceCompletedMode – 이벤트 보관 기간에 따라 모든 이벤트를 제거하지만 활성 인스턴스에 관련된 WF 인스턴스와 활동 이벤트는 제외됩니다. 이 모드에서는 완료된 인스턴스 레코드와 해당 활동 이벤트가 삭제됩니다.

    선택 사항이고 기본적으로 EventAgeMode로 설정됩니다.

Server

제거할 데이터베이스를 호스트하는 서버의 이름입니다. 선택 사항이고 제공되지 않는 경우 기본적으로 로컬 서버로 설정됩니다.

예제

다음은 완료된 인스턴스에 관련된 이벤트를 보관 및 제거하는 방법을 보여 주는 간단한 예입니다. 이 예에서는 로컬 서버에 있는 ContosoDatabase 모니터링 데이터베이스를 제거합니다.

Clear-ASMonitoringSqlDatabase –Database “ContosoDatabase” –PurgeMode “WFInstanceCompletedMode” –Archive

지속성 저장소에서 부실 인스턴스 제거

웹 팜의 모든 컴퓨터에서 제거된 서비스 인스턴스가 지속성 저장소에 남아 있게 되어 지속성 저장소 쿼리에 문제가 발생할 수 있습니다. 컴퓨터가 네트워크에서 제거될 경우 제거된 컴퓨터에 연결된 지속된 인스턴스는 지속성 저장소에 부실 인스턴스로 남아 있습니다. Remove-ASAppServiceInstance cmdlet은 해당 부실 인스턴스를 정리하는 기능을 제공합니다.

Remove-ASAppServiceInstance

구문 1:

Remove-ASAppServiceInstance -Database <String> -InstanceId <Guid> [-Confirm] [-Force] [-Server <String>] [-WhatIf] [<CommonParameters>]

구문 2:

Remove-ASAppServiceInstance -ConnectionString <String> [-Confirm] [-Force] [-WhatIf] [<CommonParameters>]

구문 3:

Remove-ASAppServiceInstance -ServiceInstanceInfo <InstanceInfo> [-Confirm] [-Force] [-WhatIf] [<CommonParameters>]
매개 변수 설명

Database

제거할 지속성 저장소의 이름입니다. ConnectionString이 지정되지 않은 경우 필수입니다.

InstanceId

GUID 형식의 서비스 인스턴스 ID입니다.

Confirm

사용자가 서비스 인스턴스가 제거되기 전에 작업을 확인하도록 합니다. Force와 함께 사용할 수 없습니다.

Force

사용자 확인 없이 작업을 강제로 수행합니다. Confirm과 함께 사용할 수 없습니다.

Server

Database를 호스트하는 SQL Server의 이름입니다. 선택 사항이고 기본적으로 로컬 서버로 설정됩니다.

WhatIf

저장소에 연결하지만 실제로 서비스 인스턴스 데이터를 제거하지는 않습니다.

ConnectionString

제거할 지속성 저장소에 대한 연결 문자열입니다. 선택 사항이고 DatabaseServer 대신 사용할 수 있습니다.

ServiceInstanceInfo

참고 항목

개념

데이터베이스 관리

  2011-12-05