Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Saiba como recuperar a tabela excluída no SQL Server 2012 sem backup


Resumo:Deseja saber como recuperar a tabela excluída no SQL Server 2012 sem backup. Leia este artigo para recuperar objetos de banco de dados excluídos usando soluções rápidas e eficientes.

Ocasionalmente, um cliente pode executar UPDATE operação ou EXCLUIR operação no banco de dados SQL Server sem aplicar o WHERE doença. Essa é uma explicação típica por trás da perda de dados das tabelas do SQL Server. Como o banco de dados SQL Server é um DBMS relacional excepcionalmente comum entre divisões corporativas e organizações, o problema de perda de dados se amplia muito mais. Portanto, os clientes devem conhecer as estratégias para recuperar dados excluídos da Tabela do SQL Server caso ocorra a ocorrência de algum desastre.

As linhas excluídas podem ser recuperadas usando LSN se o tempo de exclusão for conhecido. Isso deve ser possível usando números de seqüência de log (LSNs). LSN é um identificador especial dado a cada registro presente no log de transações do SQL Server. Falaremos sobre o procedimento para recuperar dados e tabelas do SQL Server excluídos com o auxílio do log de transações e LSNs.

Sugerido: Para evitar a maneira LSN manual longa e incorreta de lidar com a recuperação de registros excluídos da tabela SQL usando uma ferramenta de terceiros impulsionada, por exemplo, a ferramenta de recuperação de banco de dados SQL .


Procedimento para saber como recuperar a tabela excluída no SQL Server 2012 sem backup


Existem alguns requisitos a serem atendidos antes de iniciarmos o procedimento de recuperação de dados excluídos da tabela SQL. Para recuperar efetivamente as linhas excluídas de uma tabela no banco de dados do SQL Server, ela deve ter o modelo de recuperação BULK-LOGGED ou FULL quando a exclusão ocorreu originalmente. Algumas atividades rápidas são necessárias para que os logs ainda estejam acessíveis para executar a recuperação de dados.

Siga as etapas oferecidas abaixo para recuperar dados excluídos do SQL Server 2005, 2008, 2012, 2014 e 2016 usando logs de transação.

Etapa 1

Verifique o número de linhas presentes na tabela da qual os dados foram excluídos inadvertidamente usando a pergunta abaixo referenciada:

SELECT * FROM Table_name

Etapa 2

Faça o backup do log de transações do banco de dados usando a consulta fornecida abaixo:

USE nome do banco de dados



Backup LOG [Databasename]

TO DISK =N’D:\Databasename\RDDTrLog.trn’

COM NOFORMAT, NOINIT,

NAME =N'Databasename-Transaction Log Backup',

SKIP, NOREWIND, NOUNLOAD, STATS =10



Etapa 3

Para recuperar dados excluídos da tabela do SQL Server, precisamos coletar alguns dados sobre as linhas excluídas. Execute a consulta oferecida abaixo para realizar esse motivo

USE nome do banco de dados



Selecione [LSN Atual], [ID da Transação], Operação, Contexto, AllocUnitName

DE

fn_dblog(NULL, NULL)

WHERE Operação ='LOP_DELETE_ROWS'

Da consulta fornecida acima, obteremos o ID da transação (digamos 000:000001f3) das linhas excluídas. Atualmente, quando essas linhas foram excluídas deve ser resolvido para usar esse ID.

Etapa 4

Nesta progressão, localizaremos a hora específica em que as linhas foram excluídas usando o ID de transação 000:000001f3. Isso é concluído executando a consulta fornecida da seguinte forma:

USE nome do banco de dados



SELECIONAR

[LSN atual], Operação, [ID da transação], [Hora de início], [Nome da transação], [SID da transação]

DE

fn_dblog(NULL, NULL)

ONDE

[ID da transação] ='000:000001f3'

E

[Operação] ='LOP_BEGIN_XACT'

Ao executar esta consulta, obteremos a estimativa do Log Sequence Number (LSN) atual (suponha 00000020:000001d0:0001).

Etapa 5

Atualmente, iniciaremos o procedimento de restauração para recuperar dados excluídos das linhas da Tabela do SQL Server que foram perdidas. Isso é concluído usando a consulta abaixo:

USE nome do banco de dados



Restaurar DATABASE Databasename_COPY FROM

Placa ='D:\Databasename\RDDFull.bak'

COM

MOVA 'Databasename' PARA 'D:\RecoverDB\Databasename.mdf',

MOVE 'Databasename_log' PARA 'D:\RecoverDB\Databasename_log.ldf',

SUBSTITUIR, NÃO RECUPERAR;



  Etapa 6

Atualmente aplique o log de transações para restaurar linhas excluídas usando LSN 00000020:000001d0:0001:

USE nome do banco de dados



Restaurar LOG Databasename_COPY FROM DISK =N'D:\Databasename\RDOTrLog.trn' WITH STOPBEFOREMARK ='lsn:0x00000020:000001d0:0001' Nota:Como os valores LSN estão em estrutura hexadecimal e para restaurar tabelas utilizando isso LSN, temos que mudar para a estrutura decimal. Por esse motivo, incluímos 0x pouco antes do LSN, como apareceu anteriormente.

Etapa 7

O procedimento para recuperar registros excluídos da tabela SQL será concluído de forma eficaz. Atualmente, verifique se os registros excluídos estão de volta no banco de dados chamado Databasename_Copy.

USE Databasename_Copy GO Selecione * from Table_name

  Limitações da abordagem de log de transações
  • Estratégia profundamente tediosa para recuperar dados excluídos do SQL Server Table, pois inclui algumas consultas extensas a serem executadas.
  • Incrivelmente incompreensível para atualizar para clientes que não têm dados especializados suficientes.
  • Probabilidades mais proeminentes de perda de dados devido a erros durante a aplicação e execução de consultas.

Solução eletiva a ser conhecida Como recuperar a tabela excluída no SQL Server 2012 sem backup


A melhor solução eletiva é acessível para recuperar linhas do SQL Server 2019/2017/2016/2014/2012/2008/2005. A solução eletiva sobre a qual falamos aqui pode resolver todos os problemas de tipo que surgem no SQL Server. Ele pode corrigir erros de SQL e corrigir arquivos SQL MDF e NDF. Ferramenta de recuperação de SQL do FreeViewer é uma ferramenta de negócio que permite recuperar Triggers, Rules, Functions, Tables. Além disso, também restaura os procedimentos armazenados no SQL Server de forma eficaz, sem perda de dados. A parte significativa é que o aplicativo oferece muitas opções de propulsão ao corrigir arquivos de banco de dados SQL Server corrompidos. Além disso, este aplicativo mostra os registros da tabela SQL excluídos na cor vermelha. Este produto é bom com o Microsoft Outlook 2019 e todas as suas versões abaixo.



Baixe a versão demo gratuita para compreender a melhor capacidade possível do aplicativo.

Etapas para recuperar facilmente objetos de banco de dados excluídos


  1. Faça o download e envie o  SQL Recovery ferramenta e abra o arquivo MDF.
  2. Selecione a alternativa de Verificação avançada, Detectar a versão do SQL Server para recuperar registros excluídos no SQL Server.
  3. A ferramenta iniciará a Digitalização procedimento do arquivo de banco de dados primário (MDF)
  4. Veja os Componentes do Banco de Dados SQL, a ferramenta mostra os registros da tabela SQL deletados na cor vermelha. Depois disso, clique no botão Exportar
  5. Você deve fornecer os detalhes de autenticação do banco de dados no próximo segmento.
  6. Verifique a opção "Criar novo banco de dados" opção e dê um nome de banco de dados.
  7. Fare o banco de dados 'Com esquema e dados' para recuperar dados nas linhas excluídas no SQL Server. (Também marque a caixa de seleção Exportar registros excluídos)
  8. Agora salve o relatório e abra o banco de dados criado recentemente que contém os registros recuperados.


Conclusão


Leia também:O usuário também pode ler outro post semelhante para conhecer as melhores práticas de recuperação de desastres do Microsoft SQL Server.

Embora a estratégia LSN possa restaurar registros excluídos de tabelas SQL, é tudo menos uma escolha prescrita para os clientes devido à sua natureza multifacetada e repetitividade. Em vez disso, é recomendável usar uma solução automatizada para saber como recuperar a tabela excluída no SQL Server 2012 sem backup.