증상
메모리 내 OLTP (트랜잭션 처리) 데이터베이스를 복원 하려고 하면 디스크 공간이 부족 하 여 실패 합니다. 그런 다음, 액세스 위반 (AV)이 발생 하 고 다음 덤프 파일을 가져올 수 있습니다.
액세스 위반 덤프
DateTime SpidId 사용할 ' dbghelp ' 버전 ' e l d '
DateTime SpidId * * * Stack Dump FilePath 에 전송 되 고 있습니다.
DateTime SpidId SqlDumpExceptionHandler: 프로세스 346에서 심각한 예외 c0000005 EXCEPTION_ACCESS_VIOLATION를 생성 했습니다. TEST.SQL 서버에서이 프로세스를 종료 합니다.
DateTime SpidId * STACK 시작 작은
DateTime SpidId * CurrentTime spid SpidId
DateTime SpidId * 예외 주소 = 00007FFB7E6DA7B5 모듈 (sqlmin + 00000000018CA7B5)
DateTime SpidId * 예외 코드 = c0000005 EXCEPTION_ACCESS_VIOLATION
DateTime SpidId * 액세스 위반이 발생 했습니다 주소 읽기 00000000000000B4
DateTime SpidId * MODULE BASE END 크기
DateTime SpidId * sqlservr.exe 00007FF65AAA0000 00007FF65AB07FFF 00068000
DateTime SpidId * NTDLL 00007FFBA0470000 00007FFBA061CFFF 001ad000
DateTime SpidId * KERNEL32.DLL 00007FFBA0190000 00007FFBA02CDFFF 0013e000
또한 데이터베이스를 삭제 하려고 하면 다음과 유사한 어설션 덤프가 나타날 수 있습니다.
어설션 덤프
DateTime SpidId * * 스레드 덤프- spid = SPIDId, EC = 0x0000024216677B60
DateTime SpidId * * * Stack Dump FilePath 에 전송 되 고 있습니다.
DateTime SpidId * STACK 시작 작은
DateTime SpidId * CurrentTime spid SpidId
DateTime SpidId * Location "FilePath": 10210
DateTime SpidId * Expression LdImm (&db->CkptContext->CheckpointCount) = = 0
DateTime SpidId * SPID SPIDId
DateTime SpidId * 프로세스 ID: ProcessID
DateTime SpidId * 입력 버퍼 252 바이트-
DateTime SpidId */* * * * * 개체: Database [DatabaseName] 스크립트 날짜: scriptdate
DateTime SpidId */CurrentTime * * * * * */DROP DATABASE [DatabaseName]
상태
Microsoft는 "적용 대상" 절에 나열한 Microsoft 제품에서 이 문제를 확인했습니다.
해결 방법
이 문제는 다음과 같은 SQL Server 누적 업데이트에서 해결 되었습니다.
SQL Server의 누적 업데이트 정보:
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
참조
Microsoft에서 소프트웨어 업데이트를 설명하는 데 사용하는 용어에 대해 알아보세요.