Usuário com melhor resposta
Arquivo LOG

Pergunta
-
Boa tarde !!!
No SQL Server 2008 foi descontinuado o TRUNCATE_ONLY
EXECUTE
('BACKUP LOG ' + @Nome_Banco + ' WITH TRUNCATE_ONLY')
Essa linha de comando faz parte de uma procedure que rodava em um banco SQL 2000 e 2005, que agora nao funciona mais.
Eu ja vi algumas opções de diminuir o arquivo de LOG mudando o RECOVERY MODEL para SIMPLE, fazendo um SHRINK no LOG e depois retornando para FULL.
Mas eu nao queria isso. Gostaria de implementar na minha procedure de BKP:
1) CHECKPOINT no LOG
1) Faz o BKP FULL do Banco + LOG
2) SHRINK LOG
Obrigado!!!
Respostas
-
Davi,Não creio que seja problema manter no modo 80 enquanto se altera para SIMPLE, ele deverá limpar o log de qualquer forma.Então, troque seu BACKUP LOG ... WITH TRUNCATE_ONLY por ALTER DATABASE ... SET RECOVERY SIMPLE. Não esqueça de retornar depois para FULL.Além disso, quando retornado o modo FULL, você terá OBRIGATORIAMENTE que fazer um backup FULL. Isso pois perderá toda consistência das suas rotinas de backup.Abraço
Classifiquem as respostas. O Fórum agradece!!- Marcado como Resposta Junior Galvão - MVPMVP, Moderator quinta-feira, 12 de março de 2015 19:45
Todas as Respostas
-
Davi,
Você esta certo o Backup Log Truncate_Only foi descontinuado no SQL Server 2008, alias tem mais outros comandos que também foram, segue abaixo a tabela com os comandos descontinuados.
Seguindo as orientação do Books On-Line, para você realizar o Truncate automático do seu banco de dados, é recomendado alterar o recovery model para Simple com o nível de compatibilidade 100.
Category Discontinued feature Replacement Aliases
sp_addalias
Replace aliases with a combination of user accounts and database roles. For more information, see CREATE USER (Transact-SQL) and CREATE ROLE (Transact-SQL). Remove aliases in upgraded databases by using sp_dropalias.
APIs
Registered Servers API
Replaced by a new registered servers API that supports new SQL Server 2008 features.
Backup and restore
DUMP statement
BACKUP
Backup and restore
LOAD statement
RESTORE
Backup and restore
BACKUP LOG WITH NO_LOG
None. The transaction log is automatically truncated when the database is using the simple recovery model. If you must remove the log backup chain from a database, switch to the simple recovery model.
Backup and restore
BACKUP LOG WITH TRUNCATE_ONLY
None. The transaction log is automatically truncated when the database is using the simple recovery model. If you must remove the log backup chain from a database, switch to the simple recovery model.
Backup and restore
BACKUP TRANSACTION
BACKUP LOG
Compatibility level
60, 65, and 70 compatibility levels
Databases must be set to at least compatibility level 80.
DBCC
DBCC CONCURRENCYVIOLATION
None
Groups
sp_addgroup
Use roles.
Groups
sp_changegroup
Use roles.
Groups
sp_dropgroup
Use roles.
Groups
sp_helpgroup
Use roles.
Sample databases
Northwind and pubs
Use AdventureWorks. Northwind and pubs are available as downloads, or can be copied from a previous installation of SQL Server.
For more information, see AdventureWorks Sample Databases.
Tools
Surface Area Configuration Tool
The Surface Area Configuration Tool is discontinued for SQL Server 2008. For more information, see Backward Compatibility.
Web Assistant
sp_makewebtask
sp_dropwebtask
sp_runwebtask
sp_enumcodepages
We recommend that you use SQL Server Reporting Services instead.
Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA -
Junior, obrigado !!!
Meu banco esta com compatibilidade 80, ou seja, SQL Server 2000. Isso é necessario por outros problemas que encontramos com o Crystal Reports 8.5 que ocorre erro em alguns relatorios mais complexos, e como nao tivemos tempo de analisar o porque, estamos usando o SQL Server 2008 com a compatibilidade 2000.
Dessa forma, nao teria como fazer o TRUNCATE do LOG por procedure ?
Obrigado !!! -
Davi,Não creio que seja problema manter no modo 80 enquanto se altera para SIMPLE, ele deverá limpar o log de qualquer forma.Então, troque seu BACKUP LOG ... WITH TRUNCATE_ONLY por ALTER DATABASE ... SET RECOVERY SIMPLE. Não esqueça de retornar depois para FULL.Além disso, quando retornado o modo FULL, você terá OBRIGATORIAMENTE que fazer um backup FULL. Isso pois perderá toda consistência das suas rotinas de backup.Abraço
Classifiquem as respostas. O Fórum agradece!!- Marcado como Resposta Junior Galvão - MVPMVP, Moderator quinta-feira, 12 de março de 2015 19:45