최근 SQL Server Express 2016 SP2 CU4의 큰 테이블에서 페이지 압축을 활성화했습니다. (이를 극복하기 위해 최대로 패치했습니다!)
[sqeyelog] ALTER TABLE [dbo]. [tblSys] REBUILD PARTITION = ALL with (DATA_COMPRESSION = PAGE) 사용
ALTER INDEX [IX_sysID] ON [dbo]. [tblSys] REBUILD PARTITION = ALL WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, COM_ON_COM_LOCK_OFF) )
varchar (max) 열에 대한 전체 텍스트 인덱스 (자동 업데이트 사용 및 한 번에 50K 레코드의 일괄 삽입)를 가지고 있으며 재구성을 실행하기 전에 테이블에서 가장 오래된 행 행을 정기적으로 제거합니다 ... 사용 된 공간이 80 %를 초과하면 트리거됩니다.
트랜잭션 전송 선택 tblSys에서 # TT2로 TOP 10 PERCENT sysID를 선택하십시오
어쨌든, TX 직후에 이것을 실행할 때 ... 전체 텍스트 카탈로그 FTCat 재구성
그런 다음 sp_who2에서 SUSPENDED DBCC라고 말하면서 CPU / IO 값이 계속 높아지고 DBCC가 대부분의 진드기를 차지하고 있으며 FT 작업이 평소대로 진행되는 것처럼 보입니다. 다른 것을 막고 있습니다.
삭제없이 REORGANIZE가 즉시 실행 되더라도 여전히 발생합니다. REORGANIZE와 직접 관련이 있습니다.
이로 인해 REORGANIZE에 시간이 걸리고 페이지 압축 사용을 시작하기 전에 시간이 걸리지 않았습니다.
"명령이 성공적으로 완료되었습니다." 그리고 DBCC가 심지어 실행되었다는 표시기가 없습니다 ... SQL 서비스를 반송하면 복구 모드로 다시 돌아 오기 때문에 간과 할 수는 없습니다 ...
나는 그 자체로 꽤 강렬하고 잠금 / 차단 등의 위험을 원하지 않기 때문에이 작업이 수행되는 동안 DB의 다른 모든 활동을 자연스럽게 중단합니다.
전체 텍스트 카탈로그 또는 인덱스를 압축하는 옵션이없는 것 같지만 테이블을 압축 할 수 있으며 인덱스는 ...
이런 종류의 결과가 주어지면 페이지 압축이 그만한 가치가 있습니까?
이 데이터베이스를 개발 중이라는 점을 감안하면 많은 변화가 있었으며 새 DB를 만들고 현재 상태 그대로 모든 것을 다시 만들거나 여기에서 더 불길한 것이 좋은 아이디어입니까?
도움을 주셔서 감사합니다.
감사