Artigo: 873235 - Última revisão: quarta-feira, 29 de Fevereiro de 2012 - Revisão: 4.0 Recuperação de um registo de transacção integral numa base de dados SQL Server
Nesta páginaINTRODUÇÃOEste artigo descreve os passos que deve tomar quando os registos de transacção se tornarem demasiado grandes. Registos de transacção integrais podem tornar sua base de dados Microsoft SQL Server inutilizável. Este artigo descreve como truncar e reduzir os registos de transacção, e como prevenir que os registos de transacção cresçam inesperadamente. Mais InformaçãoReduzir a dimensão do registo de transacçãoPara recuperar de uma situação na qual os registos de transacção estejam cheios e tenha de reduzir a dimensão dos registos de transacção. Para fazer isto deve truncar as transacções inactivas no seu registo de transacções e reduzir o ficheiro de registo de transacção.Nota Os registos de transacção são muito importantes para manter a integridade transaccional da base de dados. Portanto não deve eliminar os ficheiros de registo de transacção mesmo após fazer uma cópia de segurança da sua base de dados e dos registos de transacção. Para obter mais informações sobre como reduzir o tamanho do registo de transacção, visite o seguinte Web site da Microsoft: Reduzir o Registo de Transacção para o SQL Server 2000
(http://msdn.microsoft.com/pt-pt/library/aa174524(v=sql.80).aspx)
Reduzir o Registo de Transacção SQL Server 2005
(http://technet.microsoft.com/pt-pt/library/ms178037(SQL.90).aspx)
Truncar as transacções inactivas no seu registo de transacçõesQuando os registos de transacção estiverem completos, tem de efectuar imediatamente uma cópia de segurança do seu ficheiro de registo de transacção. Durante a criação da cópia de segurança dos seus ficheiros de registo de transacção, o SQL Server trunca automaticamente a parte inactiva do registo de transacções. A parte inactiva do ficheiro de registo de transacções contém as transacções concluídas e, como tal, o ficheiro de registo de transacção já não é utilizado pelo SQL Server durante o processo de recuperação. O SQL Server reutiliza este espaço inactivo e truncado no registo de transacções, ao invés de permitir o crescimento contínuo do registo de transacções e da consequente utilização de mais espaço.Para informações adicionais sobre os problemas que deverá considerar quando efectua uma cópia de segurança dos registos de transacções e os problemas que deverá considerar quando restaurar as cópias de segurança do registo de transacções, visite os seguintes tópicos no SQL Server Books Online:
Importante Após truncar manualmente os ficheiros de registo de transacção, deverá criar uma cópia de segurança total da base de dados antes de criar uma cópia de segurança do registo de transacção. Para obter informações adicionais sobre os problemas que podem ocorrer quando truncar os ficheiros de registo de transacção, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft: 62866
(http://support.microsoft.com/kb/62866/pt/
)
Razões pelas quais o registo de transacção de SQL não está a ser truncado
Diminuir o ficheiro de registo de transacçãoA operação de criação da cópia de segurança ou o método de Truncagem não reduzem o tamanho do ficheiro de registo. Para reduzir a dimensão do ficheiro de registo de transacção, deverá reduzir o ficheiro de registo de transação. Para reduzir um ficheiro de registo de transacção para a dimensão pedida e para remover as páginas não utilizadas, deverá utilizar a operação DBCC SHRINKFILE. A instrução DBCC SHRINKFILE Transact-SQL apenas pode reduzir a parte inactiva no interior do ficheiro de registo.Nota A instrução DBCC SHRINKFILE Transact-SQL não pode por si só truncar o registo e reduzir o espaço utilizado no interior do ficheiro de registo. Para obter mais informações sobre a redução dos ficheiros de registo de transacção, consulte os seguintes tópicos no SQL Server Books Online:
272318
(http://support.microsoft.com/kb/272318/pt/
)
Reduzir o registo de transacção no SQL Server 2000 com DBCC SHRINKFILE
Para obter informações adicionais sobre os problemas que podem ocorrer quando reduzir os ficheiros de registo de transacção, clique nos números de artigo seguintes para visualizar os artigos na Base de Dados de Conhecimento da Microsoft:
814574
(http://support.microsoft.com/kb/814574/pt/
)
PROBLEMA: Mensagem de erro: "Não é possível reduzir o ficheiro de registo ..." ocorre quando reduz o ficheiro de registo de transacção
324432
(http://support.microsoft.com/kb/324432/pt/
)
PROBLEMA: Os comandos DBCC SHRINKFILE e SHRINKDATABASE poderão não funcionar devido a texto subpovoado, ntext ou colunas de imagem
Impedir que os ficheiros de registo de transacção cresçam de forma inesperadaPara impedir que os ficheiros de registo de transacção cresçam de forma inesperada, considere utilizar um dos seguintes métodos:
Mais informações acerca dos ficheiros de registo de transacçãoNo SQL Server 2000 e no SQL Server 2005, cada base de dados contém pelo menos um ficheiro de dados e um ficheiro de registo de transacção. O SQL Server armazena os dados fisicamente no ficheiro de dados. O ficheiro de registo de transacção armazena os detalhes de todas as modificações que executar na sua base de dados SQL Server e os detalhes das transacções que executaram cada modificação. Uma vez que a integridade transaccional é considerada uma característica fundamental e intrínseca do SQL Server, o registo dos detalhes das transacções não pode ser desactivado no SQL Server.O ficheiro de registo de transacção é logicamente dividido em segmentos mais pequenos que são referidos como ficheiros de registo virtuais. No SQL Server 2000, pode configurar o ficheiro de registo de transacção para se expandir conforme necessário. A expansão do ficheiro de transacção pode ser governada pelo utilizador ou então configurada para utilizar todo o espaço de disco disponível. Quaisquer outras modificações que o SQL Server efectuar à dimensão do ficheiro de registo de transacção, tal como truncar os ficheiros de registo de transacção ou aumentar os ficheiros de registo de transacção, são executadas em unidades de ficheiros de registo virtuais. Se o ficheiro de registo de transacção que corresponde a uma base de dados de SQL Server estiver cheio e caso tenha definido a opção de crescimento automático dos ficheiros de registo de transacção, o ficheiro de registo de transacção aumentará em unidades de ficheiros de registo virtual. Ocasionalmente, o ficheiro de registo de transacção poderá ser demasiado grande e deixá-lo sem espaço no disco. Quando um ficheiro de registo de transacção crescer até o ficheiro de registo utilizar todo o espaço disponível no disco, deixará de poder desempenhar quaisquer operações de modificações de dados na sua base de dados. Adicionalmente, o SQL Server poderá marcar a sua base de dados como suspeita devido à falta de espaço para a expansão do registo de transacção. Para obter informações adicionais sobre os cenários que podem provocar o crescimento inesperado do ficheiro de registo de transacção, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft: 317375
(http://support.microsoft.com/kb/317375/pt/
)
O registo de transacção cresce inesperadamente ou fica cheio no SQL Server
ReferênciasPara informações adicionais sobre a resolução do problema da necessidade de espaço de disco adicional durante o processo de recuperação, consulte o tópico "Espaço insuficiente no disco" no SQL Server Books Online. Para informações adicionais sobre a arquitectura do registo de transacção, consulte os seguintes tópicos no SQL Server Books Online:
A informação contida neste artigo aplica-se a:
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
Voltar ao topo