Windows Server AppFabric Cmdlet을 사용하여 워크플로 지속성 구성

AppFabric cmdlet을 사용하여 워크플로 서비스에 대한 SQL Server 지속성 설정을 가져오거나 설정할 수 있습니다. 특정 워크플로 서비스의 서비스 수준 또는 서버, 사이트, 응용 프로그램 범위에서 지속성 기능을 구성할 수 있으며, 더 높은 수준에서 정의된 이러한 설정이 서비스에 상속되도록 할 수 있습니다. IIS 계층에서의 구성 작동 방식에 대한 자세한 내용은 Windows Server AppFabric의 구성 프로세스을 참조하십시오.

참고

AppFabric cmdlet을 대화식으로 실행하려면 Windows Server AppFabric용 Windows PowerShell 콘솔을 사용하여 해당 cmdlet을 입력한 다음 Enter 키를 눌러야 합니다. 일반적인 AppFabric cmdlet 실행에 대한 자세한 내용은 Windows Server AppFabric Cmdlet 실행을 참조하십시오. 범위 매개 변수(-SiteName, -VirtualPath, -Uri 등)에 대한 자세한 내용은 cmdlet 범위를 참조하고, 파이프 매개 변수(ApplicationInfo 및 ServiceInfo)에 대한 자세한 내용은 cmdlet 파이프를 참조하십시오.

이 항목에는 워크플로 서비스에 대한 SQL Server 지속성 기능 구성 방법을 설명하는 섹션이 포함되어 있습니다.

cmdlet을 사용하여 워크플로 서비스에 대한 SQL Server 지속성 기능을 구성하려면

이 섹션에서는 AppFabric cmdlet을 사용하여 지정한 범위와 관련된 구성 파일에 있는 SQL Server 지속성 관련 요소 및 특성의 값을 가져오거나 설정하거나 지우는 방법을 설명합니다.

Cmdlet

설명

Get-ASAppSqlServicePersistence

지정한 범위와 관련된 구성 파일에 있는 sqlWorkflowInstanceStore 요소의 특성 값 및 지속성 관련 요소 값을 가져옵니다.

Set-ASAppSqlServicePersistence

지정한 범위와 관련된 구성 파일에 있는 sqlWorkflowInstanceStore 요소의 특성 값 및 지속성 관련 요소 값을 설정합니다.

Clear-ASAppSqlServicePersistence

지정한 범위와 관련된 구성 파일에서 sqlWorkflowInstanceStore 요소를 지우거나 제거합니다.

Get-ASAppSqlServicePersistence cmdlet의 구문 옵션

// to get workflow service persistence settings at the root level
Get-ASAppSqlServicePersistence -Root

// to get workflow service persistence settings at the Web site level
Get-ASAppSqlServicePersistence -SiteName <String> 

// to get workflow service persistence settings at the virtual application or service level that the VirtualPath points to 
Get-ASAppSqlServicePersistence -SiteName <String> -VirtualPath <String>] 

// to get workflow service persistence settings at the site, virtual application or service level that the Uri points to
Get-ASAppSqlServicePersistence -Uri <Uri> 

// to get workflow service persistence settings at the application level specified by the ApplicationObject.
Get-ASAppSqlServicePersistence -ApplicationObject <ApplicationInfo> 
// Ex: Get-ASApplication -SiteName "Default Web Site" -VirtualPath /SampleApp | Get-ASAppSqlServicePersistence

// to get workflow service persistence settings at the service level specified by the Service Object
Get-ASAppSqlServicePersistence -ServiceObject <ServiceInfo> 
// Ex: Get-ASApplicationService –SiteName “Default Web Site” –VirtualPath “/SampleApp/SampleService.xamlx” | Get-ASAppSqlServicePersistence

Set-ASAppSqlServicePersistence cmdlet의 구문 옵션

Set-ASAppSqlServicePersistence [-SiteName] <String> [[-VirtualPath] <String>] [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Set-ASAppSqlServicePersistence [-Uri] <Uri> [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Set-ASAppSqlServicePersistence -ApplicationObject <ApplicationInfo> [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Set-ASAppSqlServicePersistence -ServiceObject <ServiceInfo> [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Set-ASAppSqlServicePersistence [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-Root] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

다음 표에서는 Set-ASAppSqlServicePersistence cmdlet에만 사용할 수 있는 매개 변수를 나열합니다.

매개 변수

설명

HostLockRenewalPeriod

잠금이 만료되기 전에 호스트에서 워크플로 서비스 인스턴스에 대한 잠금을 갱신해야 하는 간격을 지정합니다. 호스트에서 잠금을 지정된 간격으로 갱신하지 않으면 워크플로 서비스 인스턴스 잠금이 해제되어 다른 호스트에서 인스턴스에 대한 잠금을 가져갈 수 있습니다.

InstanceCompletionAction

워크플로 서비스 인스턴스가 완료된 후 인스턴스 상태 정보를 지속성 데이터베이스에 유지할지 여부를 지정합니다. 이 매개 변수에 사용할 수 있는 값은 DeleteAll과 DeleteNothing입니다.

InstanceEncodingOption

인스턴스 상태 정보를 지속성 저장소에 저장하기 전에 GZip 알고리즘을 사용하여 압축할지 여부를 지정합니다. 사용할 수 있는 값은 GZip과 None입니다.

InstanceLockedExceptionAction

서비스 호스트가 현재 다른 호스트에 의해 잠겨 있는 워크플로 서비스 인스턴스를 잠그려고 할 때 InstanceLockedException을 받는 경우 수행해야 하는 작업을 지정합니다. 이 필드에 대한 옵션은 NoRetry, BasicRetryAggressiveRetry입니다. 다음 목록에서 이 세 옵션에 대한 설명을 제공합니다.

  • NoRetry. 서비스 호스트가 워크플로 서비스 인스턴스를 잠그려고 시도하지 않고 InstanceLockedException을 호출자에게 전달합니다. 워크플로가 메모리에 60초 이상 머무르는 경우 NoRetry를 다시 시도로 사용합니다. 기본값은 NoRetry입니다.

  • BasicRetry. 서비스 호스트가 선형 다시 시도 간격으로 워크플로 서비스 인스턴스를 잠그려고 다시 시도하고 시퀀스 끝에 InstanceLockedException을 호출자에게 전달합니다. 워크플로가 메모리에 50-60초 정도 머무르고 메시지가 일괄적으로 도착하는 경우 BasicRetry를 사용하여 리소스를 낭비하지 않고도 대기 시간을 최소화할 수 있습니다. 메시지가 일괄적으로 도착하는 경우에는 워크플로를 언로드하기 전에 모든 메시지를 처리하기 위해 메시지가 동일한 호스트의 동일한 인스턴스에 전달될 가능성이 높습니다.

  • AggressiveRetry. 서비스 호스트에서 지수 백오프 다시 시도 간격으로 워크플로 서비스 인스턴스를 잠그려고 다시 시도하고 시퀀스 끝에 예외를 호출자에게 전달합니다. 워크플로가 메모리에 머무는 시간이 5분 미만으로 매우 짧거나 웹 팜이 대규모이고 동일한 호스트에 다른 메시지가 전달될 가능성이 매우 높지 않은 경우 AggressiveRetry를 사용하여 대기 시간을 최소화할 수 있습니다.

참고

BasicRetryAggressiveRetry를 사용하는 경우 모두 시간 제한이 호출의 시간 제한으로 자동으로 설정되기 때문에 구성할 수 없습니다.

실행 가능한 인스턴스 검색 기간

SQL 워크플로 인스턴스 저장소가 이전 검색 주기 이후 실행 가능하거나 활성화 가능한 워크플로 인스턴스를 지속성 데이터베이스에서 검색하기 위해 검색 작업의 실행을 대기하는 기간을 지정합니다.

참고

모든 매개 변수 값을 전달할 필요 없이 변경할 매개 변수 값만 전달하면 됩니다.

Clear-ASAppSqlServicePersistence cmdlet의 구문 옵션

Clear-ASAppSqlServicePersistence -Root

Clear-ASAppSqlServicePersistence -SiteName <String> 

Clear-ASAppSqlServicePersistence -SiteName <String> -VirtualPath <String>] 

Clear-ASAppSqlServicePersistence -Uri <Uri> 

Clear-ASAppSqlServicePersistence -ApplicationObject <ApplicationInfo> 
// Ex: Get-ASApplication -SiteName "Default Web Site" -VirtualPath /SampleApp | Clear-ASAppSqlServicePersistence

Clear-ASAppSqlServicePersistence -ServiceObject <ServiceInfo> 
// Ex: Get-ASApplicationService –SiteName “Default Web Site” –VirtualPath “/SampleApp/SampleService.xamlx” | Clear-ASAppSqlServicePersistence

  2011-12-05