트랜잭션 트리거에 대해 규칙 평가 및 실행이 실패했습니다.
Message Queuing 트리거 규칙의 호출이 여러 가지 이유 때문에 실패할 수 있습니다. 이 오류는 다음과 같은 경우에 발생할 수 있습니다.
규칙의 조건 또는 동작 매개 변수가 유효하지 않습니다.
규칙에 의해 호출되는 COM(구성 요소 개체 모델) 개체가 올바르게 등록되지 않았습니다.
규칙에 지정된 실행 파일이 없거나 작동하지 않습니다.
이 절차를 수행하려면 Administrators 그룹의 구성원이거나 적절한 권한을 위임받아야 합니다.
규칙의 조건 또는 동작 매개 변수가 유효하지 않습니다.
규칙의 조건 또는 동작 매개 변수의 유효성을 검사하려면:
컴퓨터 관리 스냅인을 엽니다. 컴퓨터 관리를 열려면 시작을 클릭합니다. 검색 상자에 compmgmt.msc를 입력하고 Enter 키를 누릅니다.
콘솔 트리에서 서비스 및 응용 프로그램, Message Queuing, 트리거를 차례로 확장합니다.
Message Queuing Triggers 아래에서 트리거를 클릭합니다.
속성을 보기 위해 실행할 규칙을 마우스 오른쪽 단추로 클릭합니다.
일반 탭을 클릭합니다. 규칙이 원하는 큐를 가리키고 있고 처리 유형이 올바른지 확인합니다.
연결된 규칙 탭을 클릭하고 연결된 규칙이 원하는 대로 있는지 확인합니다.
트리거 아래에서 규칙을 클릭하여 사용 가능한 규칙 목록을 표시합니다.
트리거와 함께 실행해야 할 규칙을 마우스 오른쪽 단추로 클릭하고 속성을 봅니다.
규칙 조건 탭에서 규칙 조건이 원하는 대로 있는지 확인합니다.
규칙 동작 탭에서 규칙이 원하는 동작을 가리키고 있는지 확인합니다.
규칙의 조건 또는 매개 변수에 문제가 있는 것 같으면 "규칙 또는 트리거 구성" 섹션을 참조하십시오.
규칙에 의해 호출되는 COM 개체가 올바르게 등록되지 않았습니다.
COM 개체가 올바르게 등록되었는지 확인하려면:
구성 요소 서비스 스냅인을 엽니다. 구성 요소 서비스를 열려면 시작, 실행을 차례로 클릭하고, 열기 상자에 comexp.msc를 입력한 다음 Enter 키를 누릅니다.
콘솔 트리에서 구성 요소 서비스, 컴퓨터, 내 컴퓨터를 차례로 확장하고, COM+ 응용 프로그램을 클릭합니다.
COM 구성 요소가 있으며 등록되었는지 확인합니다.
COM 개체가 제대로 등록되지 않은 것 같으면 "COM+ 구성 요소 등록" 섹션을 참조하십시오.
규칙에 지정된 실행 파일이 없거나 작동하지 않습니다.
실행 파일이 있고 작동하는지 확인하려면:
Windows 탐색기를 열고 이벤트에 지정되어 있는 실행 파일로 이동합니다. 파일이 있고 제대로 실행되는지 확인합니다.
실행 파일이 규칙에서 제대로 참조되는지 확인합니다. 컴퓨터 관리 스냅인을 엽니다. 컴퓨터 관리를 열려면 시작을 클릭합니다. 검색 상자에 comexp.msc를 입력하고 Enter 키를 누릅니다.
콘솔 트리에서 컴퓨터 관리, 서비스 및 응용 프로그램, Message Queuing, 트리거, 규칙을 차례로 확장한 다음 규칙을 클릭합니다.
오류 메시지에 지정된 규칙을 마우스 오른쪽 단추로 클릭한 후 속성을 클릭합니다.
규칙 동작 탭의 독립 실행형 실행 파일 호출 아래에서, 실행 파일 경로에 나열된 실행 파일이 존재하는지와 앞에 전체 경로가 있는지를 확인합니다. 예를 들면 MyApp.exe가 아니라 c:\MyDirectory\MyApp.exe여야 합니다.
실행 파일에 문제가 있는 것 같으면 "규칙 삭제 및 다시 만들기" 섹션을 참조하십시오.
트리거 규칙 만들기에 대한 자세한 내용은 트리거에 규칙 만들기 및 연결( http://go.microsoft.com/fwlink/?LinkId=104059)을 참조하십시오.
규칙 또는 트리거 구성
규칙 조건 또는 트리거를 제대로 구성해야 합니다. 필요한 규칙 또는 트리거 설정을 모르면 솔루션 설계자에게 문의할 수 있습니다.
이 절차를 수행하려면 Administrators 그룹의 구성원이거나 적절한 권한을 위임 받아야 합니다.
규칙 및 트리거를 확인하고 변경하려면:
컴퓨터 관리 스냅인을 엽니다. 컴퓨터 관리를 열려면 시작을 클릭합니다. 검색 상자에 compmgmt.msc를 입력하고 Enter 키를 누릅니다.
서비스 및 응용 프로그램, Message Queuing, 트리거를 차례로 확장합니다.
Message Queuing Triggers 아래에서 트리거를 클릭합니다.
실행할 규칙을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
일반 탭을 클릭합니다. 규칙이 원하는 큐를 가리키고 있고 처리 유형이 올바른지 확인합니다.
연결된 규칙 탭을 클릭하고 연결된 규칙이 원하는 대로 있는지 확인합니다.
트리거 아래에서 규칙을 클릭하여 사용 가능한 규칙 목록을 표시합니다.
트리거와 함께 실행해야 할 규칙을 마우스 오른쪽 단추로 클릭하고 속성을 봅니다.
규칙 조건 탭에서 규칙 조건이 원하는 대로 있는지 확인합니다.
규칙 동작 탭에서 규칙이 원하는 동작을 가리키고 있는지 확인합니다.
각 규칙에 대해 7~10단계를 반복합니다.
COM+ 개체 등록
규칙에 의해 호출되는 COM+ 개체가 올바르게 등록되지 않았습니다. 개체를 다시 등록하려면 명령줄 유틸리티 regsvr32.exe를 사용할 수 있습니다. regsvr32 사용에 대한 자세한 내용은 Microsoft 기술 자료 문서 249873( http://go.microsoft.com/fwlink/?LinkId=107513)을 참조하십시오.
이 절차를 수행하려면 Administrators 그룹의 구성원이거나 적절한 권한을 위임 받아야 합니다.
COM+ 개체를 등록하려면:
regsvr32.exe를 실행합니다. regsvr32.exe를 실행하려면 시작을 클릭합니다. 검색 상자에 cmd를 입력하고 Enter 키를 누릅니다.
명령 프롬프트에서 regsvr32 <해당 COM+ component.dll>을 입력한 다음 Enter 키를 누릅니다.
규칙 삭제 및 다시 만들기
규칙에 지정된 실행 파일이 없거나 작동하지 않습니다. 이 문제를 해결하려면 지정된 규칙을 삭제하고 다시 만들어 보십시오.
이 절차를 수행하려면 Administrators 그룹의 구성원이거나 적절한 권한을 위임 받아야 합니다.
지정된 규칙을 삭제하고 다시 만들려면:
컴퓨터 관리 스냅인을 엽니다. 컴퓨터 관리를 열려면 시작을 클릭합니다. 검색 상자에 compmgmt.msc를 입력하고 Enter 키를 누릅니다.
콘솔 트리에서 컴퓨터 관리, 서비스 및 응용 프로그램, Message Queuing, 트리거, 규칙을 차례로 확장한 다음 규칙을 클릭합니다.
오류 메시지에 지정된 규칙을 선택한 후 두 번 클릭합니다.
규칙의 실행 파일에 대한 전체 경로를 입력했는지 확인합니다.
트리거 규칙 만들기에 대한 자세한 내용은 트리거에 규칙 만들기 및 연결( http://go.microsoft.com/fwlink/?LinkId=104059)을 참조하십시오.
자세한 내용은 이벤트 ID 2210( http://technet.microsoft.com/en-us/library/dd337483(WS.10).aspx)을 참조하십시오.
Target | Microsoft.MSMQ.6.3.Triggers | ||
Category | AvailabilityHealth | ||
Enabled | False | ||
Event_ID | 2210 | ||
Event Source | $Target/Host/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
Alert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.MSMQ.6.3.Rule.Alert.Event2210" Enabled="false" Target="Microsoft.MSMQ.6.3.Triggers" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>AvailabilityHealth</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2210</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.MSMQ.6.3.Rule.Alert.Event2210.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
<Custom1/>
<Custom2/>
<Custom3/>
<Custom4/>
<Custom5/>
<Custom6/>
<Custom7/>
<Custom8/>
<Custom9/>
<Custom10/>
</WriteAction>
</WriteActions>
</Rule>