Base de conhecimento
Forprint Corporator > Suporte Corporator > Base de conhecimento

Lmite de 4GB SQL Express 2005 / (Diminuir banco)

Solução clientes com SQL express 2005 estourando o limite de 4GB do bd e que não queiramos migrar para o SQL express mais recente que tem limite de 10GB:

Verificar atividade no computador pode ser baixado de http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx


Colocar como single_user, alterar no script onde está "Artlux" e rodar no proprio bd que se deseja diminuir



Rodar Script abaixo:

DECLARE @DsDatabase SYSNAME
SELECT @DsDatabase = D.Name
FROM Master..SysProcesses P, Master..SysDatabases D
WHERE P.Dbid = D.Dbid
AND P.Spid = @@Spid

DECLARE @NomeTabela VARCHAR(80)
DECLARE CursorTabelas CURSOR FAST_FORWARD
FOR
SELECT DISTINCT CONVERT(VARCHAR(80), T.Name) AS Objeto
FROM SysObjects T, SysIndexes I
WHERE T.Type = 'U'
AND I.Id = T.Id
ORDER BY Objeto
OPEN CursorTabelas
FETCH NEXT FROM CursorTabelas INTO @NomeTabela
WHILE @@fetch_status = 0
BEGIN
PRINT 'Reindexando tabela ' + @NomeTabela + '...'
IF (SELECT DATABASEPROPERTYEX (@DsDatabase, 'UserAccess')) = 'SINGLE_USER'
DBCC CHECKTABLE (@NomeTabela, REPAIR_ALLOW_DATA_LOSS)
DBCC DBREINDEX (@NomeTabela)
DBCC UPDATEUSAGE (@DsDatabase, @NomeTabela)
FETCH NEXT FROM CursorTabelas INTO @NomeTabela
END
CLOSE CursorTabelas
DEALLOCATE CursorTabelas

DBCC SHRINKDATABASE (SGEDados1_Artlux)
GO
Detalhes do artigo
ID do Artigo: 66
Categoria: Manutenção
Data de publicação: 20-03-2014 15:21:20
Visualizações: 614

 
<< Voltar