sql >> Databáze >  >> RDS >> Sqlserver

Vědět, jak obnovit smazanou tabulku v SQL Server 2012 bez zálohování

Shrnutí:Chcete vědět, jak obnovit odstraněnou tabulku v SQL Server 2012 bez zálohování. Přečtěte si tento článek o obnovení smazaných databázových objektů pomocí účinných a rychlých řešení.

Příležitostně může klient provést UPDATE operaci nebo SMAZAT operace v databázi SQL Server bez použití KDE stav. Toto je typické vysvětlení ztráty dat z tabulek SQL Serveru. Vzhledem k tomu, že databáze SQL Server je výjimečně tradičním relačním DBMS mezi podnikovými divizemi a organizacemi, problém ztráty dat se mnohem více zesiluje. Klienti by tedy měli vědět o strategiích obnovy smazaných dat z tabulky SQL Server, pokud by došlo k nějaké katastrofě.

Odstraněné řádky lze obnovit pomocí LSN, pokud je znám čas odstranění. To by mělo být možné pomocí logovacích sekvenčních čísel (LSN). LSN je speciální identifikátor přidělený každému záznamu v transakčním protokolu SQL Server. Budeme hovořit o postupu obnovení smazaných dat a tabulek SQL Serveru pomocí protokolu transakcí a LSN.

Doporučeno: Chcete-li se vyhnout dlouhému a nesprávnému ručnímu způsobu LSN, jak se vypořádat s obnovou smazaných záznamů z tabulky SQL pomocí nástroje třetí strany, například nástroje pro obnovu databáze SQL .

Postup, jak zjistit, jak obnovit smazanou tabulku v SQL Server 2012 bez zálohování

Než zahájíme proceduru obnovy smazaných dat z tabulky SQL, je třeba splnit několik požadavků. Chcete-li efektivně obnovit odstraněné řádky z tabulky v databázi SQL Server, musí mít model obnovení BULK-LOGGED nebo FULL, když k odstranění původně došlo. Jsou vyžadovány některé svižné aktivity, takže protokoly jsou zatím přístupné pro obnovu dat.

Chcete-li obnovit smazaná data ze serveru SQL Server 2005, 2008, 2012, 2014 a 2016 pomocí protokolů transakcí, postupujte podle níže uvedených kroků.

Krok 1

Zkontrolujte počet řádků přítomných v tabulce, ze kterých byla data neúmyslně odstraněna, pomocí níže odkazované otázky:

SELECT * FROM Table_name

Krok 2

Proveďte zálohu transakčního protokolu databáze pomocí dotazu uvedeného pod:

USE Databasename

PŘEJÍT

Zálohování LOG [Databasename]

NA DISK =N'D:\Název databáze\RDDTrLog.trn'

S NOFORMAT, NOINIT,

NAME =N’Databasename-Transaction Log Backup’,

SKIP, NOREWIND, NOUNLOAD, STATS =10

PŘEJÍT

Krok 3

Abychom mohli obnovit smazaná data z tabulky SQL Server, musíme shromáždit některá data o odstraněných řádcích. K dosažení tohoto důvodu spusťte níže uvedený dotaz

USE Databasename

PŘEJÍT

Vyberte [Current LSN], [Transaction ID], Operation, Context, AllocUnitName

OD

fn_dblog(NULL, NULL)

WHERE Operation =„LOP_DELETE_ROWS“

Z výše uvedeného dotazu získáme ID transakce (řekněme 000:000001f3) odstraněných řádků. V současné době, kdy byly tyto řádky smazány, je třeba vyřešit použití tohoto ID.

Krok 4

V tomto postupu vyhledáme konkrétní čas, kdy byly řádky odstraněny, pomocí ID transakce 000:000001f3. To je dokončeno provedením následujícího dotazu:

USE Databasename

PŘEJÍT

VYBRAT

[Aktuální LSN], Operace, [ID transakce], [Čas zahájení], [Název transakce], [SID transakce]

OD

fn_dblog(NULL, NULL)

KDE

[ID transakce] ='000:000001f3'

A

[Operace] =„LOP_BEGIN_XACT“

Po provedení tohoto dotazu získáme odhad aktuálního sekvenčního čísla protokolu (LSN) (předpokládejme 00000020:000001d0:0001).

Krok 5

V současné době zahájíme proceduru obnovy, abychom obnovili smazaná data z řádků tabulky SQL Server, které byly ztraceny. To je dokončeno pomocí níže uvedeného dotazu:

USE Databasename

PŘEJÍT

Obnovit DATABASE Databasename_COPY FROM

Plate =‚D:\Název databáze\RDDFull.bak‘

S

PŘESUNOUT ‚Databasename‘ DO ‚D:\RecoverDB\Databasename.mdf‘,

PŘESUNOUT ‚Databasename_log‘ DO ‚D:\RecoverDB\Databasename_log.ldf‘,

NAHRADIT, NEOBNOVIT;

PŘEJÍT

  Krok 6

V současnosti použijte protokol transakcí k obnovení smazaných řádků pomocí LSN 00000020:000001d0:0001:

USE název databáze

PŘEJÍT

Obnovit LOG Databasename_COPY Z DISKU =N'D:\Databasename\RDOTrLog.trn' S STOPBEFOREMARK ='lsn:0x00000020:000001d0:0001' Poznámka:Protože hodnoty LSN jsou v hexadecimální struktuře tabulky a využití LSN, musíme to změnit na desítkovou strukturu. Z tohoto důvodu zařazujeme 0x krátce před LSN, jak se objevilo dříve.

Krok 7

Procedura obnovení smazaných záznamů z tabulky SQL bude efektivně dokončena. Nyní zkontrolujte, zda jsou smazané záznamy zpět v databázi s názvem Databasename_Copy.

USE Databasename_Copy GO Vyberte * z Table_name

  Omezení přístupu protokolu transakcí

  • Velmi zdlouhavá strategie obnovy smazaných dat z tabulky SQL Server, protože obsahuje několik rozsáhlých dotazů, které je třeba provést.
  • Úžasně ohromující aktualizace pro klienty, kteří nemají dostatek specializovaných dat.
  • Větší pravděpodobnost ztráty dat kvůli chybám při aplikaci a provádění dotazů.

Výběrové řešení, které byste měli znát Jak obnovit smazanou tabulku v SQL Server 2012 bez zálohování

Nejlepší volitelné řešení je dostupné pro obnovu řádků ze serveru SQL Server 2019/2017/2016/2014/2012/2008/2005. Volitelné řešení, o kterém zde mluvíme, může vyřešit každý jednotlivý problém, který se na SQL Serveru objeví. Dokáže opravit chyby SQL a opravit soubory SQL MDF a NDF. FreeViewer SQL Recovery Tool je obchodní nástroj, který umožňuje obnovu spouštěčů, pravidel, funkcí, tabulek. Navíc navíc efektivně obnovuje uložené procedury na serveru SQL Server bez ztráty dat. Důležitou součástí je, že aplikace poskytuje mnoho možností pohonu při opravě poškozených databázových souborů SQL Server. Tato aplikace navíc zobrazuje smazané záznamy SQL tabulky červenou barvou. Tento produkt je vhodný pro Microsoft Outlook 2019 a všechny jeho nižší verze.

Stáhněte si zdarma demo verzi, abyste pochopili nejlepší možnou kapacitu aplikace.

Kroky pro snadné obnovení smazaných databázových objektů

  1. Stáhněte si a odešlete  SQL Recovery a otevřete soubor MDF.
  2. Vyberte možnost Pokročilé skenování, Detekovat verze SQL Server obnovit smazané záznamy na serveru SQL.
  3. Nástroj spustí Skenování postup primárního databázového souboru (MDF)
  4. Prohlédněte si komponenty SQL Database Components, nástroj zobrazuje smazané záznamy SQL tabulky červenou barvou. Poté klikněte na Exportovat
  5. V dalším segmentu musíte zadat podrobnosti o ověření databáze.
  6. Zaškrtněte políčko „Vytvořit novou databázi“ a zadejte Název databáze.
  7. Fe the Database „Se schématem a daty“ za účelem obnovení dat ve smazaných řádcích na serveru SQL. (Zaškrtněte také políčko Exportovat smazané záznamy)
  8. Aktuálně uložte zprávu a otevřete nedávno vytvořenou databázi, která obsahuje Obnovené záznamy.

Závěr

Přečtěte si také:Uživatel si také může přečíst další podobný příspěvek, aby se dozvěděl o nejlepších postupech obnovy po havárii Microsoft SQL Server.

Ačkoli strategie LSN může obnovit smazané záznamy z tabulek SQL, je to všechno, jen ne předepsaná volba pro klienty kvůli její mnohostranné povaze a opakovatelnosti. Spíše se doporučuje použít automatizované řešení Know How to Recover Deleted Table in SQL Server 2012 without Backup.


  1. Slide decky a vzorky z #SQLintersection

  2. java.sql.SQLException:- ORA-01000:překročen maximální počet otevřených kurzorů

  3. Jak dotazovat pole DATETIME pouze pomocí data v Microsoft SQL Server?

  4. Paralelní unnest() a pořadí řazení v PostgreSQL