Microsoft는 다운로드 가능한 파일 하나로 Microsoft SQL Server 2008 R2 수정 사항을 배포합니다. 수정 사항은 누적되므로 각 새 릴리스에는 이전 SQL Server 2008 R2 수정 릴리스에 포함된 모든 핫픽스 및 모든 보안 수정 사항이 포함됩니다.
증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
Microsoft SQL Server 2008 R2에 도메인 기반 특성이 있는 MDS(MDS(Master Data Services)) 모델 및 엔터티가 있습니다. 도메인 기반 특성은 동일한 특성을 자체 참조하도록 설계되었습니다.예를 들어 ManagerName 특성이 있는 Employee 엔터티가 있습니다. ManagerName 특성은 동일한 Employee 엔터티 자체를 참조합니다.참고 관리자는 일종의 직원이기도 하다.
-
도메인 기반 특성에 대한 재귀 부모/자식 관계를 표시하기 위해 특성에 정의된 파생 계층 구조가 있습니다.
-
MDS 준비 테이블에 대한 하나 이상의 순환 참조를 포함하는 데이터 값을 로드합니다. 이 동작은 순환 참조를 발생시키고 특성의 첫 번째 노드는 원의 일부가 아닙니다.예를 들어 다음 데이터 패턴은 순환 참조를 보여 줍니다. 그러나 Member1 멤버 값은 원의 일부가 아닙니다.
Member1 --manager 특성--> Member2 --manager 특성--> Member3 --manager 특성--> Member2 --manager 특성--> Member3
insert into mdm.tblStgMemberAttribute(ModelName, EntityName, MemberType_ID, MemberCode, AttributeName, AttributeValue, Status_ID)Values ('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member3', 0),('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member1', 0)('EntityTest', 'ModelTest', 1, 'Member1', 'Manager', 'NULL', 0)
-
다음 방법 중 하나를 사용하여 MDS 준비 프로세스를 사용하여 엔터티에 데이터 값을 로드합니다.
-
Exec [mdm]을 실행합니다. [udpStagingSweep] 프로시저는 준비된 데이터를 처리하는 데 필요한 매개 변수를 사용합니다.
-
통합 관리를 클릭하여 MDS 웹 사이트 홈페이지를 방문합니다. 내보내기 가져오기 페이지의 패치되지 않은 스테이징 레코드 섹션 헤더 아래에서 기어 아이콘을 클릭하여 특정 모델 및 버전의 레코드를 처리합니다.
-
이 시나리오에서는 백그라운드 프로세스가 내부적으로 [mdm]을 호출할 때 스테이징 프로세스 중 백그라운드 프로세스에 무한 루프가 발생할 수 있습니다. [udpMemberRecursiveCircularCheck] 프로시저.
원인
이 문제는 udpStagingSweep 및 udpStagingMemberAttributeSave 프로시저가 각 준비 행에 대해 udpMemberRecursiveCircularCheck 프로시저를 한 번 호출하기 때문에 발생합니다. 이 동작은 도메인 기반 특성 값을 검사 스테이징 행이 기존 데이터와 함께 순환 참조를 발생시키는 경우 오류를 반환합니다. 모든 스테이징 행을 확인한 후에는 다음 결과가 표시됩니다.
-
오류가 없는 준비 행이 적용됩니다.
-
오류가 있는 준비 행에는 오류 코드가 표시됩니다.
"증상" 섹션에 설명된 조건이 true이면 [mdm]입니다. [udpMemberRecursiveCircularCheck] 프로시저는 서버 리소스가 소진되거나 시간 초과가 발생할 때까지 무기한 루프됩니다.
해결 방법
누적 업데이트 정보
SQL Server 2008 R2 서비스 팩 1
이 문제에 대한 수정 사항은 누적 업데이트 4에서 처음 릴리스되었습니다. SQL Server 2008 R2 SP1에 대한 이 누적 업데이트 패키지를 가져오는 방법에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 문서를 확인합니다.
2633146 SQL Server 2008 R2 서비스 팩 1Note용 누적 업데이트 패키지 4 빌드가 누적되므로 각 새 수정 릴리스에는 이전 SQL Server 2008 R2 SP1 수정 릴리스에 포함된 모든 핫픽스 및 모든 보안 수정 사항이 포함됩니다. 이 핫픽스를 포함하는 최신 수정 릴리스를 적용하는 것이 좋습니다. 자세한 내용을 확인하려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.
2567616 SQL Server 2008 R2 서비스 팩 1이 릴리스된 후 릴리스된 SQL Server 2008 R2 빌드
상태
Microsoft는 "적용 대상" 절에 나열한 Microsoft 제품에서 이 문제를 확인했습니다.
해결 방법
이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.
-
문제를 방지하려면 다음 단계를 수행합니다.
-
준비 프로세스를 실행하기 전에 스테이징 테이블에 삽입되는 멤버 데이터 값을 수동으로 검토합니다.
-
도메인 기반 특성의 모든 멤버 값에 "증상" 섹션에 설명된 순환 참조가 포함되어 있지 않은지 확인합니다.
-
-
"증상" 섹션에 설명된 문제가 발생하면 다음 단계에 따라 문제를 해결합니다.
-
무한 루프에서 실행 중인 세션을 식별합니다.
-
세션을 종료하여 루프를 중지합니다.
-
순환 참조가 다시 처리되기 전에 스테이징 테이블에서 순환 참조 값을 삭제합니다.
-
참고
-
종료할 세션을 식별하려면 다음 방법 중 하나를 사용합니다.
-
Microsoft SQL Server Management Studio 활동 모니터를 사용합니다.
-
sys.sysprocesses 또는 sys.dm_exec_requests DMV(동적 관리 뷰)에서 선택하여 CPU 및 시간이 빠르게 증가하는 MDS 데이터베이스 내에서 작동하는 세션을 식별합니다. 세션에서 실행되는 현재 쿼리가 "원인" 섹션에 설명된 프로시저 이름과 일치하는지 확인합니다.
-
-
세션에 대해 현재 실행 중인 프로시저를 식별하려면 다음 방법 중 하나를 사용합니다.
-
활동 모니터 프로세스 목록의 각 프로세스에서 세부 정보 메뉴를 마우스 오른쪽 단추로 클릭합니다.
-
다음 매개 변수 중 하나를 사용합니다.
-
DBCC INPUTBUFFER(spid) 명령을 세션 ID와 함께 사용합니다.
-
SELECT * FROM sys.dm_exec_sql_text(sqlhandle) 함수는 DMV 출력을 사용할 때 일치하는 SQL 핸들 매개 변수와 함께 작동합니다.
-
-
참고 자료
SQL Server Management Studio 활동 모니터를 여는 방법에 대한 자세한 내용은 다음 MSDN 웹 사이트를 참조하세요.
SQL Server Management Studio 활동 모니터를 여는 방법KILL 구문에 대한 자세한 내용은 다음 MSDN 웹 사이트를 참조하세요.
KILL 구문에 대한 일반 정보sys.dm_exec_requests DMV에 대한 자세한 내용은 다음 MSDN 웹 사이트를 참조하세요.
sys.dm_exec_requests DMV에 대한 일반 정보sys.dm_exec_sql_text DMV에 대한 자세한 내용은 다음 MSDN 웹 사이트를 참조하세요.
sys.dm_exec_sql_text DMV에 대한 일반 정보DBCC INPUTBUFFER 명령에 대한 자세한 내용은 다음 MSDN 웹 사이트를 참조하세요.
DBCC INPUTBUFFER 명령에 대한 일반 정보SQL Server 대한 증분 서비스 모델에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 문서를 확인합니다.
935897 SQL Server 팀에서 증분 서비스 모델을 사용하여 보고된 문제에 대한 핫픽스를 제공할 수 있습니다. SQL Server 업데이트에 대한 명명 스키마에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 확인합니다.
822499 Microsoft SQL Server 소프트웨어 업데이트 패키지에 대한 새 명명 스키마 소프트웨어 업데이트 용어에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 문서를 확인합니다.
824684 Microsoft 소프트웨어 업데이트를 설명하는 데 사용되는 표준 용어에 대한 설명