Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --dbcc showcontig with tableresults
- --dbcc showcontig with tableresults, all_indexes
- set nocount on
- create table #dbreindex (
- dbname sysname not null,
- tablename sysname not null primary key,
- [started] datetime default(getdate()),
- altered datetime default(null),
- logsize int default(null),
- logsize2 int default(null)
- )
- exec sp_MSforeachtable @command1 = '
- print ''?''
- declare @logsize int
- declare @dbname sysname
- set @dbname = db_name()
- insert into #dbreindex (dbname, tablename ) values (@dbname, ''?'')
- select @logsize = sum(size) from sysfiles where groupid = 0
- update #dbreindex set logsize = @logsize where tablename = ''?'' and dbname = @dbname
- --dbcc dbreindex(''?'','''',80)
- begin try
- alter index all on ? rebuild with(pad_index = on, fillfactor = 80, sort_in_tempdb = on, maxdop = 8)
- end try
- begin catch
- print ''? のインデックス操作に失敗しました。''
- end catch
- update #dbreindex set altered = getdate() where tablename = ''?'' and dbname = @dbname
- select @logsize = sum(size) from sysfiles where groupid = 0
- update #dbreindex set logsize2 = @logsize where tablename = ''?'' and dbname = @dbname
- '
- select datediff(ms, started, altered) as time_msec, (logsize2 - logsize) as growth, * from #dbreindex
- select datediff(s, min(started), max(altered)) as total_sec from #dbreindex
- drop table #dbreindex
Add Comment
Please, Sign In to add comment