728x90

-- 10프로 이상 파편화된 인덱스 REBUILD 명령어 추출 쿼리
SELECT a.object_id
, [Table Name] = object_name(a.object_id)
, a.index_id
, [Index Name] = b.name
, avg_page_space_used_in_percent
, avg_fragmentation_in_percent
, [query] = 'ALTER INDEX ALL ON ' + CONVERT (varchar, object_name(a.object_id)) + ' REBUILD WITH (FILLFACTOR = 90);'
FROM sys.dm_db_index_physical_stats(
 NULL
, NULL    
, NULL
, NULL
, 'SAMPLED'
) AS a
INNER JOIN sys.indexes AS b
ON a.object_id = b.object_id
AND a.index_id = b.index_id
where avg_fragmentation_in_percent > 10

728x90

'MSSQL' 카테고리의 다른 글

[MSSQL] 유지관리계획 수행이 안 되는 경우  (1) 2025.01.03
[MSSQL] 인덱스 파편화 정보, REINDEX  (0) 2024.12.27
[MSSQL] 인덱스 조회 및 누락된 인덱스 확인  (0) 2024.12.27
LOCK  (0) 2023.10.27
SQL 실행 이력 조회  (0) 2023.05.16

+ Recent posts