-- 특정 테이블 대상으로 인덱스 리빌드를 할 경우
alter index all on xxx테이블명xxx rebuild with (pad_index = on, fillfactor = 90)
-- 전체 테이블 대상으로 리빌드 할 경우 cursor 이용 수행
declare @ii int
declare @sql varchar(1000)
declare @tablename varchar(1000)
declare @ownername varchar(1000)
set @ii= 0;
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 @ii = @ii+ 1;
print convert(varchar, @ii) + '. ' + @ownername + ' : ' + @tablename + '---------- start';
set @sql = 'alter index all on ' + @ownername + '.' + @tablename + ' rebuild with (pad_index = on, fillfactor = 90) ';
exec(@sql);
print ' ---------- end';
print ' ';
fetch next from db_cursor into @ownername, @tablename
end
close db_cursor
deallocate db_cursor
;
SQL Server Lock 확인 및 IP추적 (0) | 2021.01.04 |
---|---|
Sql Server 페이징 처리 (0) | 2021.01.04 |
MS SQL Server 테이블 건수 용량 확인 쿼리 (0) | 2021.01.04 |
쿼리 실행 순서 (0) | 2021.01.04 |
컬럼명(필드명)에 특정 문자열 포함하는 테이블 찾기 (0) | 2021.01.04 |