Usuário com melhor resposta
Apagar e limitar o tamanho do LOG do SQL Server 2000

Pergunta
-
Pessoal, bom dia!
Nâo tenho muito conhecimento em SQL e por isso preciso de uma ajuda.
O meu banco tem 2Gb e o meu Log tem 20Gb...
Mas o principal é que o meu HD naõ é muito grande, então, preciso saber como apagar o mesmo e limitar o tamanho do Log para uns 4Gb (Acredito que este seja um bom tamanho, não?).
Eu já executei o Shirink colocando 10%, mas não aconteceu nada. E achei nas propriedades do banco a opção de limitar o tamanho, mas tenho medo de executar algo errado.
É preciso estar com algum serviço parado?
Qual é o processo correto?
Por favor, preciso de ajuda com uma certa urgência, pois esse Log aumenta cerca de 1Gb a cada semana e o meu HD só tem mais 5Gb livres... Não tenho verba na empresa para trocar o HD agora...
Grata desde já!!
Adriana
Respostas
-
Adriana,
A tarefa de Shrink serve para reorganizar as páginas de dados do banco ou do arquivo, dessa forma, se ele não estiver fragmentado não haverá grandes ganhos.
Segue o comando para diminuir o tamanho físico do arquivio de log.
Não é necessário paralisar nenhum serviço.
--Diminuir o tamanho do log
CHECKPOINT
go
backup log teste with truncate_only -- onde teste é o nome do banco de dados
go
DBCC SHRINKFILE (teste_log, 100) -- teste_log é o nome fisico do arquivo de log e 100 é o tamanho em MB
De Lima - MCTS SQL Server- Marcado como Resposta Adriana_SP quarta-feira, 22 de abril de 2009 12:56
-
Adriana,
Fiz um teste aqui e o comando funcionou corretamente. O mdf no C: e o ldf no G:
Apenas me equivoquei quando disse na resposta anterior nome físico do arquivo onde deve ser nome lógico. Desculpe!!! Talvez seja por isso que tenha ocorrido o erro.
Tente o comando a seguir:
use teste -- teste é o nome do database
go
-- O comando abaixo serve para visualizar o nome do arquivo e também para ver o tamanho atual
exec sp_helpfile
go
dbcc shrinkfile(log_file_name, 100)
go
Att,
De Lima - MCTS SQL Server- Marcado como Resposta Adriana_SP segunda-feira, 4 de maio de 2009 13:14
Todas as Respostas
-
Adriana,
A primeira coisa que você precisa avaliar é o recovery model que será utilizado. Outra coisa, é regularmente fazer o backup do log, para que ele não cresça dessa forma. Outra coisa é realmente limitar nas configurações do database, mas que o limite não será aplicado agora pq está com 20gb já. Faça um backup do log, depois tente dar um shrinkfile para diminuir esse valor para os 2gb iniciais e posteriormente limite o valor máximo do tamanho do arquivo.Abraços
Gilberto Neto
Gilberto Neto Blog: http://gilberto-neto.spaces.live.com/default.aspx- Sugerido como Resposta Alex Rosa segunda-feira, 13 de abril de 2009 22:34
-
Adriana,
A tarefa de Shrink serve para reorganizar as páginas de dados do banco ou do arquivo, dessa forma, se ele não estiver fragmentado não haverá grandes ganhos.
Segue o comando para diminuir o tamanho físico do arquivio de log.
Não é necessário paralisar nenhum serviço.
--Diminuir o tamanho do log
CHECKPOINT
go
backup log teste with truncate_only -- onde teste é o nome do banco de dados
go
DBCC SHRINKFILE (teste_log, 100) -- teste_log é o nome fisico do arquivo de log e 100 é o tamanho em MB
De Lima - MCTS SQL Server- Marcado como Resposta Adriana_SP quarta-feira, 22 de abril de 2009 12:56
-
Bom dia a todos.A resposta já foi dada pelo Gilberto, no link http://www.sqlskills.com/BLOGS/PAUL/ , tem um survey a respeito do assunto do post.
- asc - cardoso.alisson@gmail.com -
Lima,
Deu certo, obrigada!!
Mas não consegui executar isso em uma das minhas bases, acredito que seja porque os arquivos estão em unidades diferentes do C:...
Acusa esta mensagem de erro no Query Analyser.
Server: Msg 8985, Level 16, State 1, Line 1
Could not locate file 'BDTESTE_Log' in sysfiles.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Vc saberia como fazer neste caso??
Fico muito grata!!! -
Adriana,
Fiz um teste aqui e o comando funcionou corretamente. O mdf no C: e o ldf no G:
Apenas me equivoquei quando disse na resposta anterior nome físico do arquivo onde deve ser nome lógico. Desculpe!!! Talvez seja por isso que tenha ocorrido o erro.
Tente o comando a seguir:
use teste -- teste é o nome do database
go
-- O comando abaixo serve para visualizar o nome do arquivo e também para ver o tamanho atual
exec sp_helpfile
go
dbcc shrinkfile(log_file_name, 100)
go
Att,
De Lima - MCTS SQL Server- Marcado como Resposta Adriana_SP segunda-feira, 4 de maio de 2009 13:14
-