SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[function_clean_rebuild_indexes]
AS
BEGIN
-- FILLFACTOR 90
declare @TableName varchar(255)
declare @sql nvarchar(500)
declare @fillfactor int, @tot float, @now float
SET @fillfactor = 90
set @tot =
(select count(OBJECT_SCHEMA_NAME([object_id])+'.'+name) AS TableName
from sys.tables)
declare TableCursor cursor for
select OBJECT_SCHEMA_NAME([object_id])+'.'+name AS TableName
from sys.tables
order by 1
open TableCursor
fetch next from TableCursor into @TableName
print 'Iniciando ALTER INDEX ALL (FILL FACTOR '+cast(@fillfactor as varchar(10))+')...'
set @now = 0
while @@FETCH_STATUS = 0
begin
set @now = @now + 1
print 'Reindexando tabela ' + upper(@TableName) + ' ( '+cast(@now as varchar(10))+'/'+cast(@tot as varchar(10))+' - '+cast(round(@now * 100 / @tot, 2) as varchar(20))+'% ) ...'
SET @sql = 'ALTER INDEX ALL ON ' + @TableName + ' REBUILD WITH (FILLFACTOR = ' + CONVERT(VARCHAR(3),@fillfactor) + ')'
exec(@sql)
fetch next from TableCursor into @TableName
end
close TableCursor
deallocate TableCursor
print 'Reconstrução dos Índices Terminada.'
END
Mostrando postagens com marcador reconstruir. Mostrar todas as postagens
Mostrando postagens com marcador reconstruir. Mostrar todas as postagens
quinta-feira, 11 de agosto de 2011
Reconstruir Indices no SQL Server 2008
Marcadores:
indexes,
indices,
rebuild,
reconstruir,
sqlserver 2008
Reconstruir Indices no SQL Server 2000/2005
CREATE PROCEDURE [dbo].[function_clean_rebuild_indexes]
AS
BEGIN
SET ARITHABORT ON
SET QUOTED_IDENTIFIER ON
declare @tabname sysname
declare @dbstring varchar(300)
declare @exec_string varchar(300)
declare tabDBCC cursor for select table_name from information_schema.tables where table_type = 'base table'
open tabDBCC
fetch next from tabDBCC into @tabname
select @dbstring = DB_NAME()
print 'Iniciando DBCC DBREINDEX para a base ' + upper(@dbstring) + '...'
while (@@fetch_status = 0)
begin
print 'Reindexando tabela ' + upper(@tabname)
select @exec_string = 'dbcc dbreindex ([' + @tabname + '])'
exec(@exec_string)
fetch next from tabDBCC into @tabname
end
close tabDBCC
deallocate tabDBCC
print 'Reconstrução dos Índices Terminada.'
END
GO
AS
BEGIN
SET ARITHABORT ON
SET QUOTED_IDENTIFIER ON
declare @tabname sysname
declare @dbstring varchar(300)
declare @exec_string varchar(300)
declare tabDBCC cursor for select table_name from information_schema.tables where table_type = 'base table'
open tabDBCC
fetch next from tabDBCC into @tabname
select @dbstring = DB_NAME()
print 'Iniciando DBCC DBREINDEX para a base ' + upper(@dbstring) + '...'
while (@@fetch_status = 0)
begin
print 'Reindexando tabela ' + upper(@tabname)
select @exec_string = 'dbcc dbreindex ([' + @tabname + '])'
exec(@exec_string)
fetch next from tabDBCC into @tabname
end
close tabDBCC
deallocate tabDBCC
print 'Reconstrução dos Índices Terminada.'
END
GO
Marcadores:
indexes,
indices,
rebuild,
reconstruir,
sqlserver 2000,
sqlserver 2005
Assinar:
Postagens (Atom)