Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dowiedz się, jak odzyskać usuniętą tabelę w SQL Server 2012 bez kopii zapasowej

Podsumowanie:Czy chcesz wiedzieć, jak odzyskać usuniętą tabelę w programie SQL Server 2012 bez kopii zapasowej. Przeczytaj ten artykuł, aby odzyskać usunięte obiekty bazy danych za pomocą wydajnych i szybkich rozwiązań.

Czasami klient może wykonać AKTUALIZACJĘ operacja lub USUŃ działanie w bazie danych SQL Server bez zastosowania GDZIE stan :schorzenie. Jest to typowe wyjaśnienie utraty danych z tabel programu SQL Server. Ponieważ baza danych SQL Server jest wyjątkowo popularnym relacyjnym DBMS wśród działów korporacyjnych i organizacji, problem utraty danych nasila się znacznie bardziej. Dlatego klienci powinni wiedzieć o strategiach odzyskiwania usuniętych danych z tabeli SQL Server w przypadku wystąpienia jakichkolwiek katastrof.

Usunięte wiersze można odzyskać za pomocą LSN, jeśli znany jest czas usunięcia. Powinno to być możliwe przy użyciu numerów sekwencji dziennika (LSN). LSN to specjalny identyfikator nadawany każdemu rekordowi w dzienniku transakcji programu SQL Server. Porozmawiamy o procedurze odzyskiwania usuniętych danych i tabel SQL Server za pomocą dziennika transakcji i sieci LSN.

Sugerowane: Aby uniknąć długiego i nieprawidłowego ręcznego sposobu LSN na odzyskanie usuniętych rekordów z tabeli SQL za pomocą napędzanego narzędzia innej firmy, na przykład Narzędzie do odzyskiwania bazy danych SQL .

Procedura, aby dowiedzieć się, jak odzyskać usuniętą tabelę w SQL Server 2012 bez kopii zapasowej

Przed przystąpieniem do procedury odzyskiwania usuniętych danych z tabeli SQL należy spełnić kilka wymagań. Aby skutecznie odzyskać usunięte wiersze z tabeli w bazie danych SQL Server, musi ona mieć model odzyskiwania BULK-LOGGED lub FULL w momencie pierwotnego usunięcia. Wymagane są pewne energiczne działania, aby dzienniki były jeszcze dostępne do odtwarzania odzyskiwania danych.

Wykonaj poniższe kroki, aby odzyskać usunięte dane z SQL Server 2005, 2008, 2012, 2014 i 2016 za pomocą dzienników transakcji.

Krok 1

Sprawdź liczbę wierszy obecnych w tabeli, z której dane zostały przypadkowo usunięte, korzystając z poniższego pytania:

SELECT * FROM Nazwa_tabeli

Krok 2

Wykonaj kopię zapasową dziennika transakcji bazy danych, korzystając z zapytania podanego poniżej:

UŻYJ nazwy bazy danych

Idź

Dziennik kopii zapasowej [nazwa bazy danych]

NA DYSK =N’D:\Nazwa bazy danych\RDDTrLog.trn’

Z NOFORMATEM, NOINIT,

NAZWA =N’Databasename-Kopia zapasowa dziennika transakcji”,

POMIŃ, NOREWIND, RZECZOW., STATYSTYKI =10

Idź

Krok 3

Aby odzyskać usunięte dane z tabeli SQL Server, musimy zebrać pewne dane o usuniętych wierszach. Uruchom zapytanie oferowane poniżej, aby osiągnąć ten powód

UŻYJ nazwy bazy danych

Idź

Wybierz [Bieżący LSN], [Identyfikator transakcji], Operacja, Kontekst, AllocUnitName

OD

fn_dblog(NULL, NULL)

GDZIE operacja =„LOP_DELETE_ROWS”

Z powyższego zapytania otrzymamy identyfikator transakcji (powiedzmy 000:000001f3) usuniętych wierszy. Obecnie, kiedy te wiersze zostały usunięte, należy rozwiązać ten identyfikator.

Krok 4

W tym postępie zlokalizujemy konkretny czas, w którym wiersze zostały usunięte, używając identyfikatora transakcji 000:000001f3. Kończy się to poprzez wykonanie zapytania podanego w następujący sposób:

UŻYJ nazwy bazy danych

Idź

WYBIERZ

[Bieżący numer LSN], Operacja, [Identyfikator transakcji], [Godzina rozpoczęcia], [Nazwa transakcji], [Identyfikator transakcji]

OD

fn_dblog(NULL, NULL)

GDZIE

[Identyfikator transakcji] =„000:000001f3”

ORAZ

[Operacja] =„LOP_BEGIN_XACT”

Po wykonaniu tego zapytania otrzymamy oszacowanie bieżącego numeru sekwencji dziennika (LSN) (załóżmy, że 00000020:000001d0:0001).

Krok 5

Obecnie rozpoczniemy procedurę przywracania, aby odzyskać usunięte dane z wierszy tabeli SQL Server, które zostały utracone. Kończymy to za pomocą poniższego zapytania:

UŻYJ nazwy bazy danych

Idź

Przywróć BAZA DANYCH Nazwa bazy danych_KOPIUJ Z

Tabliczka =„D:\Nazwa bazy danych\RDDFull.bak”

Z

PRZENIEŚ „Nazwa bazy danych” DO „D:\RecoverDB\Databasename.mdf”,

PRZENIEŚ „Databasename_log” DO „D:\RecoverDB\Databasename_log.ldf”,

WYMIANA, NORECOVERY;

Idź

  Krok 6

Obecnie zastosuj dziennik transakcji, aby przywrócić usunięte wiersze, korzystając z LSN 00000020:000001d0:0001:

UŻYJ nazwy bazy danych

Idź

Restore LOG Databasename_COPY FROM DISK =N'D:\Databasename\RDOTrLog.trn' WITH STOPBEFOREMARK ='lsn:0x00000020:000001d0:0001' Uwaga:Ponieważ wartości LSN mają strukturę szesnastkową i służą do przywracania tabel przy użyciu tego LSN, musimy zmienić go na strukturę dziesiętną. Z tego powodu dołączyliśmy 0x niedługo przed LSN, który pojawił się wcześniej.

Krok 7

Procedura odzyskiwania usuniętych rekordów z tabeli SQL zostanie skutecznie zakończona. Sprawdź, czy usunięte rekordy znajdują się z powrotem w bazie danych nazwa_bazy_danych_kopia.

USE Databasename_Copy GO Wybierz * z Table_name

Ograniczenia podejścia do dziennika transakcji

  • Bardzo żmudna strategia odzyskiwania usuniętych danych z tabeli SQL Server, ponieważ zawiera kilka obszernych zapytań do wykonania.
  • Niesamowicie zadziwiająca aktualizacja dla klientów, którzy nie mają wystarczających specjalistycznych danych.
  • Większe szanse na utratę danych z powodu błędów podczas aplikacji i wykonywania zapytań.

Wybrane rozwiązanie do poznania Jak odzyskać usuniętą tabelę w SQL Server 2012 bez kopii zapasowej

Najlepsze rozwiązanie elektywne jest dostępne do odzyskiwania wierszy z SQL Server 2019/2017/2016/2014/2012/2008/2005. Fakultatywne rozwiązanie, o którym tutaj mówimy, może rozwiązać każdy rodzaj problemu, który pojawia się w SQL Server. Potrafi naprawić błędy SQL i naprawić pliki SQL MDF i NDF. Narzędzie do odzyskiwania SQL FreeViewer to narzędzie biznesowe, które pozwala odzyskać Wyzwalacze, Reguły, Funkcje, Tabele. Co więcej, dodatkowo skutecznie przywraca procedury składowane w SQL Server bez utraty danych. Istotną częścią jest to, że aplikacja daje wiele napędzanych opcji podczas naprawiania uszkodzonych plików bazy danych SQL Server. Dodatkowo ta aplikacja wyświetla usunięte rekordy tabeli SQL w kolorze czerwonym. Ten produkt jest dobry z Microsoft Outlook 2019 i wszystkimi jego niższymi wersjami.

Pobierz bezpłatną wersję demonstracyjną, aby poznać najlepszą możliwą pojemność aplikacji.

Kroki łatwego odzyskiwania usuniętych obiektów bazy danych

  1. Pobierz i wyślij  Odzyskiwanie SQL i otwórz plik MDF.
  2. Wybierz alternatywę Advance Scan, Wykryj wersja SQL Server do odzyskania usuniętych rekordów w SQL Server.
  3. Narzędzie rozpocznie Skanowanie procedura podstawowego pliku bazy danych (MDF)
  4. Zobacz składniki bazy danych SQL, narzędzie wyświetla usunięte rekordy tabeli SQL w kolorze czerwonym. Następnie kliknij Eksportuj
  5. Musisz podać szczegóły uwierzytelniania bazy danych w następnym segmencie.
  6. Zaznacz „Utwórz nową bazę danych” i podaj nazwę bazy danych.
  7. Opłata za bazę danych „Ze schematem i danymi” w celu odzyskania danych w usuniętych wierszach w SQL Server. (Zaznacz również pole wyboru Eksportuj usunięte rekordy)
  8. Obecnie zapisz raport i otwórz ostatnio utworzoną bazę danych, która zawiera Odzyskane rekordy.

Wniosek

Przeczytaj także:użytkownik może również przeczytać inny podobny post, aby poznać najlepsze praktyki odzyskiwania po awarii w programie Microsoft SQL Server.

Chociaż strategia LSN może przywracać usunięte rekordy z tabel SQL, nie jest to zalecany wybór dla klientów ze względu na jej wieloaspektowy charakter i powtarzalność. Raczej zachęca się do korzystania z automatycznego rozwiązania, aby wiedzieć, jak odzyskać usuniętą tabelę w SQL Server 2012 bez kopii zapasowej.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLServer a StateServer dla wydajności stanu sesji ASP.NET

  2. Instrukcja SQL CASE

  3. Usuń profil poczty bazy danych w programie SQL Server (T-SQL)

  4. Zapisywanie zmian po edycji tabeli w SQL Server Management Studio

  5. 4 sposoby liczenia wierszy w tabeli SQL Server z zaletami i wadami