글
(MSSQL) 모든 테이블 인덱스 재생성 쿼리
IT/Programming/MSSQL
2016. 1. 17. 18:45
DECLARE @i int, @sql varchar(1000)
DECLARE @tablename varchar(1000),@ownerName varchar(1000)
SET @i = 1
DECLARE DB_Cursor CURSOR FOR
SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' ORDER BY TABLE_SCHEMA, TABLE_NAME
OPEN DB_Cursor
FETCH NEXT FROM DB_Cursor
INTO @ownerName, @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = 'ALTER INDEX ALL ON ' + @ownerName + '.' + @tablename + ' REBUILD WITH (PAD_INDEX = ON, FILLFACTOR = 90) '
EXEC (@sql)
PRINT CONVERT(VARCHAR, @i) + '__' + @ownerName + '.' + @tablename + '............ OK'
SET @i = @i + 1
FETCH NEXT FROM DB_Cursor
INTO @ownerName, @tablename
END
CLOSE DB_Cursor
DEALLOCATE DB_Cursor
'IT/Programming > MSSQL' 카테고리의 다른 글
(MSSQL) BACKUP LOG cannot be performed because there is no current database backup (1) | 2016.04.27 |
---|---|
(MSSQL) 이번 주 월요일, 다음 주 월요일 구하기 (0) | 2016.01.18 |
(MSSQL) 현재 데이터베이스에 사용자 그룹 또는 역할 이(가) 이미 있습니다 (1) | 2015.06.25 |
유용한 DMV (0) | 2015.05.12 |
로그 테이블 설계 원칙 (0) | 2015.02.25 |