728x90
반응형
MS SQL Enterprise에서 지원되는 데이터 압축에서 NonClustered Index의 Page 압축을 손쉽게 하기 위해 스크립트를 자동으로 만들고 싶습니다.
1. NonClustered Index 압축 스크립트 만들려고 합니다.
- MS SQL 2008 버전 이후에서 압축을 지원합니다.
- 특정 테이블의 모든 NonClustered Index를 압축하는 스크립트입니다.
- 테이블의 정보를 가지고 동적 쿼리를 사용하여, 압축을 진행합니다.
DECLARE @TABLENAME VARCHAR(100)
DECLARE @INDEXNAME VARCHAR(100)
DECLARE @SQL NVARCHAR(MAX)
DECLARE INDEX_CURSOR CURSOR FOR
SELECT T.NAME,
I.NAME
FROM sys.indexes AS I
JOIN sys.tables AS T ON I.OBJECT_ID=T.OBJECT_ID
WHERE T.NAME IN('테이블이름')
AND I.TYPE_DESC='NONCLUSTERED'
AND I.IS_DISABLED=0
OPEN INDEX_CURSOR
FETCH NEXT FROM INDEX_CURSOR INTO @TABLENAME,@INDEXNAME
WHILE (@@FETCH_STATUS=0)
BEGIN
SET @SQL=N'ALTER INDEX ['
+@INDEXNAME
+'] ON ['
+@TABLENAME
+'] REBUILD WITH ( DATA_COMPRESSION = PAGE,
ONLINE=ON,MAXDOP=8)'
EXEC (@SQL)
FETCH NEXT FROM INDEX_CURSOR INTO @TABLENAME,@INDEXNAME
END
CLOSE INDEX_CURSOR
DEALLOCATE INDEX_CURSOR
728x90
반응형
'운영 > 압축' 카테고리의 다른 글
MS SQL 2008 버전 이상에서의 Data Compession (0) | 2019.07.04 |
---|---|
SAP + MS SQL 2008 환경에서의 인덱스 압축 (0) | 2013.12.07 |
MS SQL 2008에서 PAGE 압축 한 후 압축 정보 보기 (0) | 2013.12.01 |
테이블 압축 여부 확인하기 (0) | 2013.12.01 |
2008 이후 버전에서 제공되는 데이터 압축 성능 테스트 (0) | 2013.12.01 |