증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
크기가 매우 큰 Filestream 테이블을 사용 합니다.
-
Filestream 테이블에서 행의 삭제 쿼리를 실행 하 여 시스템의 다른 대형 테이블에 대 한 내부 조인으로 필터링 된 쿼리 계획 등의 리소스를 생성 합니다.
-
쿼리 최적화 프로그램은 병렬 실행 계획을 선택 합니다.
이 시나리오에서는 ssertion이 발생 하며, SQL Server 오류 로그에 다음과 유사한 오류 메시지가 나타날 수 있습니다.
DateTime spid SpidNumber 오류: 5553, 심각도: 20, 상태: 6.
DateTime spid SpidNumber SQL Server 내부 오류. FILESTREAM 관리자는 현재 명령을 계속할 수 없습니다.
상태
Microsoft는 "적용 대상" 절에 나열한 Microsoft 제품에서 이 문제를 확인했습니다.
해결 방법
이 문제는 다음과 같은 SQL Server 누적 업데이트에서 해결 되었습니다.
SQL Server의 누적 업데이트 정보:
각 새 누적 업데이트에는 SQL Server 이전에 포함 된 핫픽스와 모든 보안 수정 프로그램 누적 업데이트. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
해결 방법
To이 문제를 해결 하려면 y ou에서다음 방법을 사용할 수 있습니다.
내부 조인 쿼리를 별도의 문으로 이동 하 고 결과를 임시 테이블에 저장 합니다. 그런 다음 임시 테이블의 항목을 기준으로 필터링 된 삭제 쿼리를 실행 합니다. 또한 병렬 처리에 대 한 비용 임계값을 증가 시켜 최적화 프로그램이 쿼리 계획을 직렬화 할 수 있습니다.
예를 들면 다음과 같습니다.
RefTable을 선택 합니다 #T. OuterTable 내부 조인 DB-LIBRARY에서 별칭 = OuterTable. alias 테이블의 alias.
OuterTable > 30006 및 OuterTable < 30010
DB-LIBRARY에서 삭제 합니다. 테이블로 WHERE IN 별칭 (SELECT * FROM #T)
참조
용어 에 대 한 자세한 정보 Microsoft는 소프트웨어 업데이트를 설명 합니다.