'XTP_CHECKPOINT'로 인해 데이터베이스 'database_name'에 대한 트랜잭션 로그가 가득 찼습니다.


26

에 대한 질문이 XTP_CHECKPOINT있습니다.

SQL Server 2014를 사용하고 있습니다. SIMPLE 복구 모델 모드 인 데이터베이스가 있습니다. 또한 복제되고 있습니다.

미결 거래가 없습니다. 나는 달렸고 DBCC OPENTRAN그것이 돌아왔다 :

"활성 거래가 없습니다."

그러나 테이블을 만들거나 삭제하거나 데이터를 삭제하려고 할 때 마다이 메시지가 계속 나타납니다
(실제 데이터베이스 이름을 단어로 바꿨습니다 database_name)

" 'XTP_CHECKPOINT'로 인해 'database_name'데이터베이스의 트랜잭션 로그가 가득 찼습니다."

왜 이런 일이 일어날 수 있는지 알고 있습니까? 더 중요한 것은 어떻게 막을 수 있습니까?

그리고 예, 데이터베이스는 실제로 SIMPLE 복구 모델 모드입니다. 즉, 트랜잭션 로그가 자동으로 잘 려야합니다.

또한 전체 복구 모드에있는 다른 데이터베이스도 동일한 작업을 수행하여 동일한 오류를 반환하기 시작했습니다.

'XTP_CHECKPOINT'로 인해 데이터베이스 'database_name'에 대한 트랜잭션 로그가 가득 찼습니다.

로그 증가 설정을 무제한 증가로 변경하려고 시도했지만 동일한 오류가 발생하지 않습니다.

파일 그룹을 제외하고 XTP를 전혀 사용하지 않고 문제를 재현 할 수 있습니다. 방법은 다음과 같습니다. http://pastebin.com/jWSiEU9U

답변:


8

비슷한 문제가 발생했습니다. 복제가 없었지만 메모리 최적화 테이블을 단순 복구 모드의 데이터베이스 테스트로 사용했지만 트랜잭션 로그가 잘리지 않았습니다. 전체 백업 직후에도 수동 잘림으로 인해 오류가 발생했습니다.

파일 끝에있는 논리 로그 파일이 사용 중이므로 로그 파일 X를 축소 할 수 없습니다.

수동 검사 점이 실패했습니다.

데이터베이스 X에서 메시지 41315, 수준 16, 상태 4, 줄 N 검사 점 작업이 실패했습니다.

수동 검사 점은 SQL 서비스를 다시 시작한 직후에만 성공했으며, 이로 인해 Multi Tb 데이터베이스 크기로 인해 4 시간 동안 복구 상태가됩니다. 또한 자동 증가를 특정 크기로 설정하려고 시도했지만 모두 동일한 결과를 얻었습니다. 공간이 남지 않을 때까지 트랜잭션 로그를 채우십시오.

마지막으로 밤낮으로 연구하고 연구 한 결과 SQL Server 2014 SP1 용 누적 업데이트 3을 설치하여 문제에 대한 해결책을 찾았습니다.


9

연결 항목에 명시된대로 "log_wait_reuse_desc = XTP_CHECKPOINT가 반드시 XTP 검사 점 작업자가 로그 잘림을 보류하고 있음을 의미하지는 않습니다." 실행으로 시작하여 sp_repltrans모든 데이터가 배포되었는지 확인하십시오.

그런 다음 이 작은 발췌 문장이 있습니다.

"메모리 최적화 테이블이 있는지 여부에 관계없이 메모리 최적화 파일 그룹이있는 데이터베이스에서 발생합니다.

현재 해결 방법은 AutoGrown을 고정 크기로 설정 한 것입니다. 또는 복구 모드를 단순으로 변경하고 로그를 줄입니다. "

따라서 복제 정리가 작동하지 않으면 다음을 시도하십시오.

checkpoint;
dbcc shrinkfile (Logfile, truncateonly)
alter database [database] modify file (filename = 'TRANSACTIONLOG', FILEGROWTH = 5MB)

이것이 로그 파일 또는 데이터베이스 파일에 대한 것인지는 명시되어 있지 않지만 로그 파일을 시도하여 시작한 다음 그렇지 않은 경우 데이터베이스 파일을 고정 성장으로 설정하십시오.


3

XTP_CHECKPOINT 문제를 해결하기 위해 추가 된 추가 로그 파일을 제거하고 전체 백업을 실행하고 기본 로그 파일 크기를 조정하고 증가량을 제한 할 수 있도록 다른 로그 파일을 추가하여 문제를 해결할 수있었습니다.


1

나는 고객과 이것을 경험했습니다. 로그 및 메모리 내 FILESTREAM 데이터 파일이 동일한 드라이브에있었습니다. 그들은 새로운 로그 파일을 만들었지 만 (이것은 거의 제안하지 않았지만) 메모리 내 체크 포인트 파일 (* .HKCKP)을 만들지 못해 시스템에서 CHECKPOINT를 수행 할 수 없습니다.

메모리 내 FILESTREAM 데이터로 드라이브의 공간을 확보하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.