ADQ ADQ ADQ Obsługa informatyczna firm
  • Startowa
  • O firmie
  • Usługi IT
    • Outsourcing IT
    • Bezpieczeństwo IT
    • Odzyskiwanie danych
    • Serwis komputerowy
    • Oprogramowanie
      • .NET Parking
      • .NET Produkcja
      • .NET Ewidencja
      • Comarch ERP OPTIMA
    • Systemy serwerowe
      • Windows Server
      • Exchange Server
      • SharePoint Server
    • Strony internetowe
    • RODO w IT
    • Cyberbezpieczeństwo
      • Scenariusze i rozwiązania z zakresu cyberbezpieczeństwa w prostych słowach
  • Certyfikaty IT
  • Aktualności
  • Baza wiedzy
  • Kontakt
  • Pomoc zdalna

Wybierz swój język

  • Polski (PL)
  • English (United Kingdom)

SQL Server - Naprawa bazy danych

Szczegóły
Adam Kieszkowski logo
Utworzono: 24 sierpień 2018

Aby ustalić, czy baza danych musi zostać naprawiona używając SQL Server Management Studio (SSMS), uruchom polecenie:

 
dbcc checkdb ('DB-NAME') WITH NO_INFOMSGS, ALL_ERRORMSGS
 
zastępując DB-NAME nazwą bazy danych. Jeżeli otrzymasz komunikat o braku błędów, to baza danych nie musi być naprawiana. Natomiast w przypadku jeżeli zostaną wyświetlone informacje, które mówią:
 
...Run DBCC UPDATEUSAGE
 
baza danych nie musi być naprawiana, wystarczy uruchomić:
 
dbcc updateusage ('DB-NAME') with no_infomsgs
 
 
W przypadku kiedy baza danych wymaga jednak naprawy, wykonaj następujące czynności:
 
  • Zajrzyj do dzienników zdarzeń aplikacji Windows i dzienników zdarzeń SQL, aby sprawdzić, czy zostały zarejestrowane jakiekolwiek problemy, które mogą wyjaśnić problem. Na przykład czy problem jest spowodowany awarią dysku lub awarią zasalania. Często nie będziesz w stanie zidentyfikować przyczyny ale najpierw rozwiąż problemy sprzętowe a następnie wykonuj następne czynności.
  • Drugą metodą zamiast naprawy bazy danych jest przywrócić ją z ostatniej niezawodnej kopii zapasowej.
 
 
Aby naprawić bazę danych, baza danych musi najpierw zostać przełączona do trybu pojedynczego użytkownika:
 
alter database DB-NAME set SINGLE_USER
 
Gdy baza danych jest w trybie pojedynczego użytkownika, może zostać naprawiona. Istnieje wiele opcji naprawy, ale zazwyczaj używane są dwie "REPAIR_REBUILD" i "REPAIR_ALLOW_DATA_LOSS". Sugeruję w pierwszej kolejności użycie:
 
dbcc checkdb ('DB-NAME', REPAIR_REBUILD)
 
spowoduje to wszelkie naprawy, które SQL Server może wykonać bez utraty danych.
 
Jeżeli (i tylko jeżeli) SQL Server nie może naprawić bazy danych bez utraty danych, użyj:
 
dbcc checkdb ('DB-NAME', REPAIR_ALLOW_DATA_LOSS)
 
po naprawieniu bazy danych należy ją wyłączyć z trybu pojedynczego użytkownika i wrócić do trybu wielu użytkowników:
 
set database DB-NAME set MULTI_USER
 
 
W przypadku problemów z naprawą bazy danych prosimy o kontakt.
 

Copyright © 2024 ADQ. Wszelkie prawa zastrzeżone.

90-218 Łódź, Pomorska 65, II Piętro
NIP 9471537164, REGON 100308781