Mais Populares

14 de julho de 2012

Como desativar log no SQL Server


Nesta semana tive alguns problemas com o log de transações do banco de dados, que ao rodar uma query apresentava o seguinte erro:

The transaction log for database 'x' is full. To find out why space in the log cannot be reused, [...] 

Ou seja, o log de transações do banco de dados estava lotado, mas o banco estava com meros 50 Mb de tamanho, ou seja, queria desativar este log já que eu não o utilizo.





O log serve para exibir quais foram os códigos executados no banco, e existem dois tipos de logs (e não é possível desativar):

Simples (Simple) e Completa (Full).

A Full armazena todas as ações do banco em um log, e a simple descarta todas as alterações no banco assim que é realizado um checkpoint, ou melhor dizendo, a cada interação de script no banco de dados.



Para alterar entre as duas, utilize o comando:

ALTER DATABASE x SET RECOVERY SIMPLE;

ou para voltar a utilizar o log de transações (transaction log) completo, segue o comando:

ALTER DATABASE x SET RECOVERY FULL;

Sendo "x" a sua base de dados (database) contendo as tabelas.

Dica: Dependendo da versão do seu banco de dados, o comando necessita ser em capital (todas maiúsculas).

Segue um exemplo de erro quando a tabela de transação está "cheia", não permitindo realizar nenhuma operação com o banco de dados:



Nenhum comentário :

Postar um comentário

Deixe seu comentário abaixo e curta Tutorial TI no facebook!