kompletny przewodnik sprawdzania integralności bazy danych SQL
spis treści
- informacje o sprawdzaniu integralności bazy danych SQL
- jak często należy sprawdzać integralność bazy danych w bazie danych SQL Server?
- Jak sprawdzić integralność bazy danych w SQL Server?
- użyj SQL Server Management Studio
- użyj zadania sprawdzania integralności bazy danych
- co zrobić, jeśli sprawdzenie integralności bazy danych nie powiedzie się?
- alternatywa do naprawiania błędów spójności bazy danych SQL
- wniosek
informacje o sprawdzaniu integralności bazy danych SQL
wykonywanie kontroli integralności jest częścią planu konserwacji bazy danych SQL Server, który pomaga zapewnić spójność bazy danych.
aby być bardziej precyzyjnym, uruchamianie kontroli integralności pomaga utrzymać skuteczność produkcyjnej bazy danych lub przywróconej kopii zapasowej poprzez wykrywanie błędów spójności (korupcji) w bazie danych.
jak często należy sprawdzać integralność bazy danych w bazie danych SQL Server?
przeprowadzanie kontroli integralności może być czasochłonnym i wymagającym dużych zasobów procesem. Dlatego ważne jest, aby zrozumieć, jak często należy przeprowadzać kontrole integralności. Aby o tym zadecydować, weźmy dwa przykłady:
- twoja baza danych SQL została uszkodzona lub uszkodzona. Nie masz kopii zapasowych. Jedynym sposobem przywrócenia bazy danych jest uruchomienie opcji naprawy, która wiąże się z ryzykiem utraty danych. W takim przypadku regularne sprawdzanie integralności (codziennie lub co godzinę) może wcześnie wykryć uszkodzenie bazy danych, minimalizując utratę danych i przestoje.
- masz kompleksową strategię tworzenia kopii zapasowych bazy danych, co pozwala przywrócić bazę danych SQL bez utraty lub minimalnej utraty danych i przestojów. W takim przypadku możesz rozważyć przeprowadzanie kontroli integralności raz w tygodniu.
Jak sprawdzić integralność bazy danych w SQL Server?
poniżej znajdują się dwie metody sprawdzania integralności bazy danych SQL:
Metoda 1-użyj SQL Server Management Studio (SSMS)
- Otwórz SSMS i połącz się z instancją SQL Server.
- w bazie danych kliknij prawym przyciskiem myszy bazę danych, dla której chcesz przeprowadzić kontrolę integralności, a następnie kliknij opcję nowe zapytanie.
- w oknie „Nowe zapytanie” wpisz DBCC CHECKDB, a następnie kliknij przycisk Wykonaj, aby uruchomić zapytanie.
jeśli uruchomione zapytanie zgłosi „0 błędów alokacji i 0 błędów spójności”, oznacza to, że baza danych jest zdrowa. Jeśli zgłosi błędy spójności, sprawdź zalecany minimalny poziom naprawy, który musisz wykonać na dole podsumowania wiadomości (patrz obrazek poniżej):
Rysunek 1 – Wykonywanie DBCC CHECKDB w celu uruchomienia sprawdzania integralności bazy danych
Metoda 2-Użyj zadania sprawdzania integralności bazy danych
wykonaj poniższe kroki, aby sprawdzić integralność bazy danych za pomocą zadania „Sprawdź integralność bazy danych” w SQL Server Integration Services (SSIS):
- Open SQL Server Data Tools (SSDT).
- w oknie, które się otworzy, kliknij plik > Nowy Projekt >.
- w wyświetlonym oknie „Nowy Projekt” wybierz pozycję projekt usług integracyjnych, a następnie kliknij przycisk OK.
- w obszarze SSIS Toolbox, w obszarze inne zadania kliknij dwukrotnie opcję Sprawdź zadanie integralności bazy danych. Zadanie pomaga w weryfikacji logicznej i fizycznej integralności obiektów bazy danych.
- Kliknij dwukrotnie pole zadania Sprawdź integralność bazy danych. Spowoduje to otwarcie wyskakującego okna „Sprawdź zadanie integralności bazy danych”. W tym oknie Utwórz nowe połączenie, klikając przycisk Nowy.
- w oknie dialogowym „Właściwości połączenia”, które zostanie otwarte, wprowadź nazwę połączenia, nazwę serwera SQL i wybierz metodę uwierzytelniania Windows (zalecana). Kliknij OK.
- kliknij strzałkę rozwijaną obok pola tekstowego Database(s):. Wybierz jedną lub wiele baz danych, dla których chcesz przeprowadzić kontrolę integralności. Naciśnij OK.
- opcjonalnie można kliknąć przycisk View T-SQL, aby wyświetlić instrukcję DBCC CHECKDBA, aby przeprowadzić zaplanowane sprawdzenie integralności wybranych baz danych.
Uwaga: zaznacz pole wyboru „Dołącz indeksy”, jeśli chcesz również sprawdzić integralność stron indeksów bazy danych.
- polecenie DBCC CHECKDB do uruchomienia zaplanowanej kontroli integralności.
- Kliknij dwukrotnie zadanie wykonaj polecenie T-SQL i dodaj zadania z ograniczeniem.
- kliknij przycisk „Rozpocznij debugowanie”, aby wykonać pakiet „sprawdź zadanie integralności bazy danych”, aby uruchomić wszystkie utworzone zadania.
zadania będą wyświetlane ze statusem zielonym, jeśli wszystko jest w porządku.
ale czasami sprawdzanie integralności może się nie udać i pokazać błędy. Dzieje się tak, gdy baza danych SQL jest uszkodzona.
co zrobić, jeśli sprawdzanie integralności bazy danych SQL nie powiedzie się?
jeśli sprawdzanie integralności bazy danych SQL nie powiedzie się w bazie danych, zaleca się przywrócenie bazy danych SQL z najnowszej kopii zapasowej. Jeśli nie masz kopii zapasowych, możesz wykonać proces naprawy bazy danych, uruchamiając polecenie DBCC CHECKDB z opcją 'REPAIR_ALLOW_DATA_LOSS’.
przeczytaj to: jak naprawić bazę danych SQL za pomocą polecenia DBCC CHECKDB?
opcja 'REPAIR_ALLOW_DATA_LOSS’ może naprawić błędy spójności bazy danych. Pomaga to jednak tylko naprawić fizyczną strukturę bazy danych, a nie wewnętrzną integralność danych. Innymi słowy, uruchomienie polecenia DBCC CHECKDB z opcją 'REPAIR_ALLOW_DATA_LOSS’ może spowodować utratę danych.
możesz również naprawić błędy spójności bazy danych SQL, uruchamiając polecenie 'REPAIR_REBUILD’. Polecenie jest zwykle używane do korygowania problemu w indeksach nieklastrowych. Ta opcja nie powoduje utraty danych.
alternatywa do naprawiania błędów spójności bazy danych SQL
jeśli wykonanie polecenia DBCC CHECKDB nie zachowało integralności i spójności danych bazy danych SQL Server, możesz użyć alternatywnego narzędzia do naprawy bazy danych SQL, takiego jak Stellar Repair for MS SQL, aby rozwiązać problem.
oprogramowanie naprawia poważnie uszkodzone pliki MDF / NDF bazy danych SQL, zachowując integralność danych. Może naprawić uszkodzenia w bazach danych SQL w systemach Windows i Linux. Narzędzie do naprawy SQL może odzyskać wszystkie obiekty bazy danych, w tym usunięte rekordy tabeli w wersji SQL 2019, 2017, 2016 i wcześniejszych wersjach.
wniosek
podczas uruchamiania SQL Server okresowo sprawdzaj integralność bazy danych, aby upewnić się, że baza danych jest zdrowa i nie jest uszkodzona. W tym artykule wyjaśniono kroki, które należy wykonać w SSIS, aby przeprowadzić kontrolę integralności bazy danych SQL Server. Omawia również użycie polecenia DBCC CHECKDB z opcjami naprawy, gdy sprawdzanie integralności nie powiedzie się. Ale wykonanie DBCC CHECKDB za pomocą polecenia 'REPAIR_ALLOW_DATA_LOSS’ może spowodować utratę danych i spowodować błędy niespójności. W takim przypadku lepszą alternatywą jest użycie Stellar Repair dla MS SQL w celu naprawienia błędów spójności bazy danych bez ryzyka utraty danych.