Microsoft SQL Server 2008 R2 수정 프로그램이 하나의 다운로드 가능한 파일로 배포 됩니다. 수정 프로그램이 누적 되므로 새 릴리스에는 이전 SQL Server 2008 R2 fix 릴리스에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다.
증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
Microsoft SQL Server 2008 R2 또는 SQL Server 2008에 FILESTREAM 파일 그룹이 포함 된 데이터베이스가 있습니다.
-
데이터베이스 트랜잭션이 열리고 FILESTREAM 파일에 씁니다. 트랜잭션은 buffing를 사용 하 여 이러한 작업을 수행 합니다.
-
데이터베이스 트랜잭션을 커밋하기 전에 FILESTREAM 파일을 닫습니다. 따라서 Windows는 파일의 일부를 파일 시스템 캐시에 유지할 수 있습니다.
-
SQL Server 명령은 FILESTREAM 파일에 액세스 하기 위해 버퍼링 되지 않은 액세스 경로를 사용 합니다. 예를 들어, SQL Server 명령은 백업 작업이 나 바이러스 검색에 사용 됩니다.
이 시나리오에서는 SQL Server 명령이 응답을 중지 합니다.참고 이 문제가 발생 하면이 문제를 복구 하려면 SQL Server를 다시 시작 해야 하거나이 문제를 해결 하기 위해 컴퓨터를 다시 시작 해야 할 수 있습니다.
원인
이 문제는 FILESTREAM RsFx 드라이버의 오류 때문에 발생 합니다. 버퍼링 옵션을 사용 하지 않는 작업이 캐시 되지 않은 액세스 경로를 요청 하는 경우 NTFS 파일 시스템은 캐시에서 더티 $DATA 세그먼트를 찾고, ntfs 파일 시스템은 캐시 된 부분을 닫도록 요청 합니다. FILESTREAM RsFx 드라이버는 파일 닫기 요청을 검색 합니다. 그러나 드라이버는 첫 번째 데이터베이스 트랜잭션이 완료 되지 않은 것을 찾습니다. 따라서 FILESTREAM RsFx 드라이버는 데이터를 플러시하고 시스템의 교착 상태를 발생 하려고 합니다.
해결 방법
SQL Server 2008 서비스 팩 3 정보
이 문제를 해결 하려면 SQL Server 2008에 대 한 서비스 팩 3을 구합니다. 자세한 내용은 Sql server 2008 서비스 팩 3에서 해결 된 문제 목록과sql server 2008의 최신 서비스 팩을 구하는 방법을 참조 하세요.
누적 업데이트 정보
SQL Server 2008 R2 서비스 팩 1
이 문제에 대 한 픽스는 SQL Server 2008 R2 서비스 팩 1에 대 한 누적 업데이트 1에서 처음 릴리스 되었습니다. 이 누적 업데이트 패키지를 구하는 방법에 대 한 자세한 내용은 다음 문서 번호를 클릭 하 여 Microsoft 기술 자료 문서를 참조 하세요.
2544793 SQL Server 2008 R2 서비스 팩 1에 대 한 누적 업데이트 패키지 1참고 빌드가 누적 되므로 새로운 각 수정 릴리스에는 이전 SQL Server 2008 R2 fix 릴리스에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. 이 핫픽스를 포함 하는 최신 픽스 릴리스를 적용 하는 것이 좋습니다. 자세한 내용을 확인하려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.
2567616 SQL Server 2008 R2 서비스 팩 1 이후 릴리스된 SQL Server 2008 R2 빌드가 릴리스 되었습니다.
SQL Server 2008 R2
이 문제에 대 한 픽스는 먼저 누적 업데이트 8에서 릴리스 되었습니다. SQL Server 2008 R2 용 누적 업데이트 패키지를 구하는 방법에 대 한 자세한 내용은 다음 문서 번호를 클릭 하 여 Microsoft 기술 자료 문서를 참조 하세요.
2534352 SQL Server 2008 R2에 대 한 누적 업데이트 패키지 8 참고 빌드가 누적 되므로 새로운 각 수정 릴리스에는 이전 SQL Server 2008 R2 fix 릴리스에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. 이 핫픽스를 포함 하는 최신 픽스 릴리스를 적용 하는 것이 좋습니다. 자세한 내용을 확인하려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.
981356 SQL Server 2008 R2를 해제 한 후 릴리스된 SQL Server 2008 R2 빌드
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.
해결 방법
이 문제를 해결 하려면 FILESTREAM 파일에 쓸 때 버퍼링을 사용 하지 마세요.
추가 정보
FILESTREAM 데이터에 대 한 자세한 내용을 보려면 다음 MSDN 웹 사이트를 방문 하세요.
통화 스택 정보
fffff880`01fa1760 fffff800`01489992 : fffffa80`090eb680 fffffa80`090eb680 00000000`00000000 fffffa80`00000008 : nt!KiSwapContext+0x7afffff880`01fa18a0 fffff800`0148c1af : fffffa80`090eb680 fffff800`015f6e80 fffff880`000000ca fffff880`014542c3 : nt!KiCommitThreadWait+0x1d2fffff880`01fa1930 fffff800`014651de : 00000000`00000000 fffffa80`0000001b 00000000`00000000 fffff800`015f6e00 : nt!KeWaitForSingleObject+0x19f fffff880`01fa19d0 fffff800`0148a5cc : ffffffff`fd9da600 fffffa80`09dba410 fffffa80`0a4a2f98 fffffa80`093cc180 : nt!ExpWaitForResource+0xaefffff880`01fa1a40 fffff880`014c8ca1 : fffff8a0`023fcb40 fffffa80`0a61bf20 fffff880`01fa1c40 fffff880`00000002 : nt!ExAcquireResourceExclusiveLite+0x14ffffff880`01fa1ab0 fffff880`014c96b4 : fffffa80`0a8684e0 fffffa80`091c1190 fffffa80`0a61bf20 00000000`00000000 : Ntfs!NtfsCommonFlushBuffers+0x14dfffff880`01fa1b90 fffff880`01253bcf : fffffa80`091c1530 fffffa80`091c1190 fffffa80`0a8684e0 fffff880`01fa2c30 : Ntfs!NtfsFsdFlushBuffers+0x104fffff880`01fa1c00 fffff880`01256aea : 00000000`00000000 00000000`00000000 fffffa80`0a269000 fffffa80`0a273b90 : fltmgr!FltpLegacyProcessingAfterPreCallbacksCompleted+0x24f fffff880`01fa1c90 fffff880`0128c1fd : fffffa80`093ca8f8 fffffa80`0941bf00 fffffa80`093ca800 fffffa80`0941bf00 : fltmgr!FltPerformSynchronousIo+0x2cafffff880`01fa1d30 fffff880`0163b2ba : fffffa80`0941bf00 ffffffff`ffffff01 fffffa80`0a273c40 fffffa80`093c000f : fltmgr!FltFlushBuffers+0x2dfffff880`01fa1df0 fffff880`0164bf0c : fffffa80`0b907de8 fffff880`01fa2048 fffff880`01fa1f18 00000000`00000000 : RsFx0150!RsFxFltrPreCloseLogical+0x2ea fffff880`01fa1ed0 fffff880`01253067 : fffffa80`0941be60 fffff880`01fa2048 fffff880`01fa2020 fffffa80`090dc040 : RsFx0150!RsFxFltrPreMainDispatchCallback+0x58c fffff880`01fa1fd0 fffff880`01254329 : fffff880`01fa2100 00000000`00000002 fffffa80`00960500 fffffa80`0b453c00 : fltmgr!FltpPerformPreCallbacks+0x2f7fffff880`01fa20d0 fffff880`012526c7 : fffffa80`0aefe620 fffffa80`093c72d0 fffffa80`092c87c0 00000000`00000000 : fltmgr!FltpPassThrough+0x2d9 fffff880`01fa2150 fffff800`0178088e : fffffa80`0a61bf20 fffffa80`093c5380 fffff8a0`09c90840 fffffa80`093c72d0 : fltmgr!FltpDispatch+0xb7fffff880`01fa21b0 fffff800`0148e514 : 00000000`00000001 00000000`00000000 fffffa80`090f0080 fffffa80`0b453cf8 : nt!IopDeleteFile+0x11e fffff880`01fa2240 fffff800`01725f61 : 00000000`00000000 00000000`0008c081 fffffa80`0b453cb0 fffffa80`0b453cb0 : nt!ObfDereferenceObject+0xd4fffff880`01fa22a0 fffff800`0145271b : fffffa80`0b453d30 00000000`00000000 fffffa80`0b453d30 fffffa80`0b453d30 : nt!MiSegmentDelete+0xa1fffff880`01fa22e0 fffff800`01452e42 : 00000000`00000000 00000000`00000711 fffffa80`09eb6348 fffff8a0`023fcc00 : nt!MmPurgeSection+0x71bfffff880`01fa23d0 fffff880`014c19ef : fffffa80`0a4a2f68 fffffa80`09eb6300 00000000`00000000 fffffa80`00000000 : nt!CcPurgeCacheSection+0x172fffff880`01fa2440 fffff880`014ef84e : fffffa80`09eb6300 fffff8a0`023fcc70 00000000`00000000 fffff8a0`023fcc01 : Ntfs!NtfsFlushAndPurgeScb+0x1bdfffff880`01fa24d0 fffff880`014ddfe5 : fffffa80`09eb6300 fffffa80`0a95ef20 fffffa80`093cc180 fffff8a0`023fced8 : Ntfs!NtfsOpenAttribute+0x80efffff880`01fa25e0 fffff880`014d9e3b : fffff880`0785d4a0 fffffa80`09eb6300 fffff8a0`023fced8 fffff8a0`00000152 : Ntfs!NtfsOpenExistingAttr+0x145fffff880`01fa26a0 fffff880`014dd09f : fffffa80`09eb6300 fffffa80`0a95ec10 fffff8a0`023fced8 fffff880`00000152 : Ntfs!NtfsOpenAttributeInExistingFile+0x5abfffff880`01fa2830 fffff880`014ed166 : fffffa80`09eb6300 fffffa80`0a95ec10 fffff8a0`023fced8 00000000`00000701 : Ntfs!NtfsOpenExistingPrefixFcb+0x1ef fffff880`01fa2920 fffff880`014ea911 : fffffa80`09eb6300 fffffa80`0a95ec10 fffff880`01fa2af0 fffff880`01fa2b40 : Ntfs!NtfsFindStartingNode+0x5e6 fffff880`01fa29f0 fffff880`01448945 : fffffa80`09eb6300 fffffa80`0a95ec10 fffff880`0785d4a0 fffff800`0148c900 : Ntfs!NtfsCommonCreate+0x3e1 fffff880`01fa2bd0 fffff800`0148ea21 : fffff800`01736800 fffff800`01621600 fffffa80`090eb600 8b48fffd`00000000 : Ntfs!NtfsFspDispatch+0x26d fffff880`01fa2cb0 fffff800`01721cce : 0f26e818`4b8d586e fffffa80`090eb680 00000000`00000080 fffffa80`090969e0 : nt!ExpWorkerThread+0x111 fffff880`01fa2d40 fffff800`01475fe6 : fffff800`015f6e80 fffffa80`090eb680 fffffa80`090ebb60 000008bf`12ebc000 : nt!PspSystemThreadStartup+0x5a
다음 표에는 SQL Server 인스턴스에서이 조건을 자동으로 확인 하는 제품 또는 도구에 대 한 자세한 내용과 해당 규칙이 평가 되는 SQL Server 버전에 대 한 자세한 정보가 나와 있습니다.
규칙 소프트웨어 |
규칙 제목 |
규칙 설명 |
규칙을 평가할 제품 버전 |
|
System Center Advisor |
SQL Server에 파일 시스템 및 filestream 드라이버 관련 교착 상태를 방지 하기 위한 업데이트 2550552가 없습니다. |
System Center Advisor는 SQL Server 인스턴스가이 수정을 포함 하지 않는 빌드 인지 여부를 확인 합니다. 현재 SQL Server 빌드가 고정 빌드 보다 이전인 경우 System Center Advisor는이 SQL Server 인스턴스에 대 한 경고를 생성 합니다. System Center Advisor에서이 경고가 표시 되는 경우이 문서의 해결 세부 정보를 검토 하 고이 인스턴스에 해당 하는 업데이트를 적용 합니다. |
Sql Server 2008 SQL Server 2008 R2 |