Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico é relevante apenas para bancos de dados que contêm transações marcadas e que usam os modelos de recuperação completo ou bulk-logged.
Para obter informações sobre os requisitos de restauração para um ponto de recuperação específico, consulte Restaurar um Banco de Dados do SQL Server para um ponto no tempo (modelo de recuperação completa).
O SQL Server dá suporte à inserção de marcas nomeadas no log de transações para permitir a recuperação até essa marca específica. As marcas de log são específicas da transação e são inseridas apenas se a transação associada for concluída. Como resultado, as marcas podem ser vinculadas a um trabalho específico, permitindo que você retorne a um estágio que inclua ou exclua esse trabalho.
Antes de inserir marcas nomeadas no log de transações, considere o seguinte:
Como as marcas de transação consomem espaço de log, use-as apenas para transações que desempenham um papel significativo na estratégia de recuperação de banco de dados.
Depois que uma transação marcada é confirmada, uma linha é inserida na tabela logmarkhistory no msdb.
Se uma transação marcada abranger vários bancos de dados no mesmo servidor de banco de dados ou em servidores diferentes, as marcas deverão ser registradas nos logs de todos os bancos de dados afetados. Para obter mais informações, consulte Usar transações marcadas para recuperar bancos de dados relacionados consistentemente (modelo de recuperação completa).
Observação
Para obter informações sobre como marcar transações, consulte Usar Transações Marcadas para Recuperar Bancos de Dados Relacionados de Forma Consistente (Modelo de Recuperação Completa).
Sintaxe Transact-SQL para inserir marcas nomeadas em um log de transações
Para inserir marcações nos logs de transações, use a instrução BEGIN TRANSACTION e a cláusula WITH MARK [descrição]. A marca é nomeada da mesma forma que a transação. A descrição opcional é uma descrição textual da marca, não o nome da marca. Por exemplo, o nome da transação e da marca que é criada na seguinte BEGIN TRANSACTION instrução é Tx1:
BEGIN TRANSACTION Tx1 WITH MARK 'not the mark name, just a description'
O log de transações registra o nome da marca (nome da transação), a descrição, o banco de dados, o usuário, datetime as informações e o LSN (número de sequência de log). As datetime informações são usadas com o nome da marca para identificar exclusivamente a marca.
Para obter informações sobre como inserir uma marca em uma transação que abrange vários bancos de dados, consulte Use Transações Marcadas para Recuperar Bancos de Dados Relacionados de Forma Consistente (Modelo de Recuperação Completa).
sintaxe Transact-SQL para recuperação em uma marca
Ao direcionar uma transação marcada usando uma instruçãoRESTORE LOG, você pode usar uma das seguintes cláusulas para parar em ou imediatamente antes da marca:
Use a cláusula WITH STOPATMARK = '
<mark_name>' para especificar que a transação marcada é o ponto de recuperação.STOPATMARK avança até a marca e inclui a transação marcada no processo de atualização.
Use a cláusula WITH STOPBEFOREMARK = '
<mark_name>' para especificar que o registro de log imediatamente antes da marca seja o ponto de recuperação.STOPBEFOREMARK avança até a marca e exclui a transação marcada do processo de avanço.
As opções STOPATMARK e STOPBEFOREMARK dão suporte a uma cláusula opcional AFTER datetime . Quando datetime é usado, os nomes de marca não precisam ser exclusivos.
Se o datetime AFTER for omitido, o roll forward será interrompido na primeira marca que tem o nome especificado. Se datetime após for especificado, o avanço será interrompido na primeira marca que tem o nome especificado, exatamente no datetime ou após o datetime.
Observação
Como em todas as operações de restauração pontual, a recuperação em uma marca não é permitida quando o banco de dados está passando por operações que são registradas em massa.
Para restaurar uma transação marcada
Restaurar um banco de dados para uma transação marcada (SQL Server Management Studio)
Preparando os Backups de Log
Para este exemplo, uma estratégia de backup apropriada para esses bancos de dados relacionados seria o seguinte:
Use o modelo de recuperação completa para ambos os bancos de dados.
Crie um backup completo de cada banco de dados.
Os bancos de dados podem ser armazenados em backup sequencial ou simultâneo.
Antes de fazer backup do log de transações, marque uma transação executada em todos os bancos de dados. Para obter informações sobre como criar as transações marcadas, consulte Uso de Transações Marcadas para Recuperar Bancos de Dados Relacionados de Forma Consistente (Modelo de Recuperação Completa).
Faça backup do log de transações em cada banco de dados.
Recuperando o banco de dados para uma transação marcada
Para restaurar o backup
Crie backups de log final dos bancos de dados não danificados, se possível.
Restaure o backup de banco de dados completo mais recente de cada banco de dados.
Identifique a transação marcada mais recente que está disponível em todos os backups de log de transações. Essas informações são armazenadas na tabela logmarkhistory no banco de dados msdb em cada servidor.
Identifique os backups de log para todos os bancos de dados relacionados que contêm essa marca.
Restaure cada backup de log, parando na transação marcada.
Recuperar cada banco de dados.
Consulte Também
BEGIN TRANSACTION (Transact-SQL)
RESTORE (Transact-SQL)
Aplicar backups de log de transações (SQL Server)
Usar transações marcadas para recuperar bancos de dados relacionados consistentemente (modelo de recuperação completa)
Visão geral da restauração e recuperação (SQL Server)
Restaurar um banco de dados do SQL Server para um ponto no tempo (modelo de recuperação completa)
Planejar e executar sequências de restauração (modelo de recuperação completa)