Odzyskiwanie bazy danych MS SQL z trybu podejrzanego: Przewodnik krok po kroku

Baza danych SQL jest zawsze w jednym z trybów: online, offline, podejrzanym, przechowywania, odzyskiwania w toku i awaryjnym. Gdy odzyskiwanie bazy danych SQL nie powiedzie się lub baza danych zostanie uszkodzona lub uszkodzona, przechodzi do trybu podejrzanego. Gdy baza danych jest oznaczona jako tryb SUSPECT, baza danych jest niedostępna dla użytkownika. Mogą Państwo odzyskać bazę danych ze stanu podejrzanego za pomocą różnych poleceń w SSMS. W tym artykule omówimy, co powoduje, że baza danych przechodzi w tryb podejrzany i jakie są metody jej odzyskiwania. Przedstawimy również zaawansowane MS SQL narzędzie do naprawy, które pomoże Państwu szybko przywrócić bazę danych z trybu podejrzanego bez utraty danych.

Przyczyny oznaczenia serwera SQL jako “tryb podejrzany”

Tryb podejrzany bazy danych SQL Server wskazuje, że proces odzyskiwania został rozpoczęty, ale nie został zakończony. Stany bazy danych mogą stać się podejrzane z kilku powodów. Niektóre z nich znajdują się poniżej:

  • Baza danych uszkodzenie pliku.
  • Główna grupa plików uszkodzonej bazy danych.
  • Niedostępne pliki bazy danych.
  • Baza danych została zakończona nieprawidłowo.
  • System miejsce na dysku jest ograniczona.
  • Brakujące pliki dziennika transakcji.
  • SQL awarie serwera w środku transakcji.

Metody odzyskiwania bazy danych SQL z trybu podejrzanego

Aby przywrócić bazę danych SQL z trybu podejrzanego, można postępować zgodnie z poniższymi metodami:

1. Przywróć kopię zapasową SQL

Mogą Państwo uruchomić aplikację Polecenia SQL aby przywrócić kopię zapasową bazy danych SQL. Oto jak to zrobić:

  • Proszę uruchomić SSMS i połączyć się z silnikiem bazy danych.
  • Proszę kliknąć Nowe zapytanie z paska standardowego.

Nowe zapytanie

  • W oknie kodu proszę wpisać poniższe polecenie SQL:

RESTORE DATABASE moni

FROM DISK = ‘Z:\SQLServerBackups\moni.bak’ ;

From Disk

2. Napraw bazę danych MS SQL

Baza danych SQL może zostać oznaczona jako podejrzana z powodu jej uszkodzenia. Można uruchomić DBCC CHECKDB, aby zidentyfikować i naprawić uszkodzenie bazy danych. Oto jak to zrobić:

Przed przystąpieniem do rozwiązywania problemów należy ustawić bazę danych w tryb awaryjny.

  • W SSMS proszę kliknąć Nowe zapytanie.
  • W Edytor zapytań proszę wpisać poniższe polecenie, aby wyłączyć flagę podejrzanego w bazie danych i ustawić ją w tryb awaryjny:

EXEC sp_resetstatus mon;

ALTER DATABASE mon SET EMERGENCY

Proszę zmienić bazę danych

  • Baza danych oznaczona jako podejrzana może nie być uszkodzona. Można więc sprawdzić, czy baza danych jest uszkodzona, czy nie, za pomocą polecenia DBCC CHECKDB, jak pokazano poniżej:

DBCC CHECKDB (mon)

DBCC

  • Po wykonaniu polecenia CHECKDB zostaną wyświetlone błędy spójności (jeśli występują) w bazie danych. Zaleci również wykonanie opcji naprawy w celu naprawienia uszkodzeń.
  • Następnie proszę naprawić błędy spójności za pomocą polecenia CHECKDB.
  • Przed zainicjowaniem procesu naprawy należy najpierw ustawić bazę danych w tryb pojedynczego użytkownika i wycofać poprzednie transakcje, aby zwolnić zasoby. Proszę użyć poniższego polecenia:

ALTER DATABASE mon SET SINGLE_USER WITH ROLLBACK IMMEDIATE

  • Proszę uruchomić polecenie DBCC CHECKDB z opcją REPAIR ALLOW DATA LOSS.

Proszę zauważyć, że przed wykonaniem tego polecenia należy najpierw utworzyć kopię zapasową bazy danych SQL

DBCC CHECKDB (mon, REPAIR_ALLOW_DATA_LOSS)

  • Proszę przywrócić bazę danych w trybie Multi-user za pomocą poniższego polecenia:

ALTER DATABASE mon SET MULTI_USER

  • Proszę zmienić tryb AWARYJNY na tryb ONLINE.

ALTER DATABASE mon SET ONLINE

  • Następnie proszę odświeżyć serwer bazy danych.
  • Proszę sprawdzić, czy można połączyć się z bazą danych SQL.

Zalecana metoda odzyskiwania bazy danych MS SQL z trybu podejrzanego

W większości przypadków powyższe metody mogą pomóc zmienić tryb podejrzany bazy danych na Normalny. Czasami jednak metody te muszą zostać zmienione ze względu na pewne scenariusze, na przykład gdy baza danych SQL jest poważnie uszkodzona. W takim przypadku można zdecydować się na profesjonalne narzędzie do naprawy bazy danych MS SQL, takie jak Stellar Repair for MS SQL. Narzędzie to może naprawić poważnie uszkodzone pliki NDF/MDF z pełną integralnością i precyzją.

Narzędzie może naprawić typowe błędy uszkodzenia bazy danych SQL, w tym bazę danych MS w trybie podejrzanym. Wykorzystuje ulepszone algorytmy do naprawy baz danych SQL. Pomaga przywrócić bazę danych MS SQL z trybu podejrzanego do stanu online.

Wnioski

Może być wiele powodów, dla których Państwa baza danych przechodzi w tryb podejrzany. W tym stanie bazy danych może nie udać się nawiązać połączenia lub uzyskać dostępu do bazy danych SQL. Można wypróbować omówione powyżej metody, takie jak odzyskiwanie kopii zapasowej, uruchamianie “DBCC CHECKDB z REPAIR_ALLOW_DATA_LOSS” itp. w celu udostępnienia bazy danych. Jeśli poważne uszkodzenie zmieniło bazę danych SQL w tryb podejrzany, można wypróbować zaawansowane narzędzie do naprawy SQL, takie jak Stellar Repair for MS SQL. Może ono szybko naprawić i przywrócić poważnie uszkodzone bazy danych bez utraty danych.