Você está na página 1de 1

Banco SLQ - Dropar todas as tabelas

Antes de mais nada, uma correo: o Banco de Dados roda em MSSQL 2000 e no 2005.
Resultado do problema:
Foi identificado que h uma tabela chamada TOP_IDXSTATS que fica aumentado sem pa
rar conforme a utilizao do Protheus.
Quando ela foi identificada, estava com mais de 19 milhes de linhas e apenas ela
ocupava mais de 3GB do tamanho total do BD, ou seja, mais que o dobro do tamanh
o de TODAS as tabelas juntas!
A tabela foi Dropada e foi feito um shrink no BD. O banco de dados est atualment
e com 1.3GB
Foi feito um Shrink tambm no LOG, que atualmente no passa dos 512MB (1 vez por se
mana eu o limpo e fao um shrink).
Soluo definitiva no houve e, infelizmente, terei que realizar essa rotina de dropa
r a tabela periodicamente para no ter mais problemas.
O analista Rodrigo Batista (Totvs-DF) acompanhou o caso aqui na empresa e ajudo
u bastante na identificao e soluo para o problema, fica aqui registrado o crdito e o
agradecimento.
A quem interessar, segue os comandos usados:
Para Consultar todas as tabelas do Banco:
DECLARE @RC int
EXEC @RC = [NOME_DO_BD].[dbo].[GetAllTableSizes]
DECLARE @PrnLine nvarchar(4000)
PRINT 'Stored Procedure: NOME_DO_BD.dbo.GetAllTableSizes'
SELECT @PrnLine = '
Return Code = ' + CONVERT(nvarchar, @RC)
PRINT @PrnLine
Para consultar a tabela individual:
SELECT count(*) FROM [NOME_DO_BD].[dbo].[TOP_IDXSTATS]
Dropar a tabela:
DROP TABLE [NOME_DO_BD].[dbo].[TOP_IDXSTATS]
Shrink do Banco de Dados:
DBCC SHRINKDATABASE ('NOME_DO_BD')
Para diminuir o tamanho o LOG:
1. BACKUP LOG nomedobanco WITH TRUNCATE_ONLY
2. DBCC SHRINKFILE(nomedobanco_log,2)
Alterar o tamanho do campo
alter table SB1540 alter column B1_FILIAL varchar(6) not null;

Você também pode gostar