| Termin | Definicja |
|---|---|
| Error 825 – możliwy błąd dysku | Error 825 sygnalizuje możliwy problem z dyskiem, wykryty podczas ponawianej operacji odczytu lub zapisu. Co oznacza komunikat SQL Server Error 825Error 825 jest komunikatem aparatu baz danych Microsoft SQL Server o nazwie symbolicznej B_RETRYWORKED. Oznacza, że operacja odczytu pliku bazy danych albo pliku dziennika transakcji nie zakończyła się poprawnie przy pierwszej próbie, lecz SQL Server ponowił odczyt i uzyskał wynik. Ponowienie pozwala kontynuować pracę zapytania, dlatego użytkownik może nie zobaczyć błędu w aplikacji, mimo że w dzienniku SQL Server pojawiło się ostrzeżenie dotyczące podsystemu wejścia-wyjścia. Komunikat nie jest zwykłą informacją o wolnym działaniu programu. SQL Server traktuje wystąpienie błędu 825 jako sygnał możliwego problemu z infrastrukturą przechowywania danych. Przyczyną może być sam dysk HDD lub SSD, kontroler, połączenie SATA albo SAS, sterownik magazynu, macierz, urządzenie SAN, system plików lub chwilowa niedostępność ścieżki do pliku. Pojedyncze skuteczne ponowienie nie potwierdza jeszcze uszkodzenia konkretnego dysku, ale nie powinno być ignorowane. Różnica między udanym ponowieniem a utratą danychW przypadku Error 825 pierwsza próba odczytu zakończyła się niepowodzeniem, natomiast kolejna próba się powiodła. Z tego powodu SQL Server może zwrócić dane i nie przerwać zapytania. Nie oznacza to jednak, że problem został usunięty. Ponowienie maskuje skutek chwilowej awarii operacji wejścia-wyjścia, ale nie usuwa jej przyczyny. Powtarzające się komunikaty mogą poprzedzać poważniejsze błędy, w których odczyt nie powiedzie się także po ponowieniu. Nie należy utożsamiać Error 825 z potwierdzonym uszkodzeniem struktury bazy. Sam komunikat dotyczy nieprawidłowej próby odczytu i nie dowodzi, że każdy plik bazy jest logicznie uszkodzony. Równocześnie nie daje podstaw do uznania danych za bezpieczne bez dalszej kontroli. Jeżeli w tym samym czasie występują błędy 823 albo 824, błędy źródła Disk, storport lub sterownika kontrolera, zawieszanie systemu, resetowanie urządzenia albo znikanie woluminu, należy traktować sytuację jako pilną. Jak powiązać wpis 825 z konkretnym urządzeniemPierwszym krokiem jest odczyt pełnego wpisu z dziennika błędów SQL Server, a nie tylko samego numeru 825. Komunikat zawiera informacje o pliku, bazie danych i operacji, której dotyczył problem. Warto zanotować nazwę pliku MDF, NDF albo LDF, ścieżkę do niego oraz czas wystąpienia. Następnie ten sam przedział czasowy należy sprawdzić w Podglądzie zdarzeń systemu Windows, zwłaszcza w dziennikach System oraz wpisach pochodzących od sterowników dysku i kontrolera. Po ustaleniu woluminu trzeba porównać ścieżkę pliku z konfiguracją dysków i macierzy. Pomocne są informacje o stanie urządzenia, temperaturze, błędach interfejsu i atrybutach diagnostycznych udostępnianych przez producenta nośnika. W środowisku SQL Server można również użyć widoku sys.dm_os_volume_stats razem z sys.master_files, aby powiązać pliki baz z woluminami i sprawdzić dostępne miejsce oraz podstawowe dane o punkcie montowania. Nie należy jednak uznawać poprawnego statusu narzędzia producenta za wykluczenie problemu: narzędzia sprzętowe i logi systemowe mogą rejestrować różne klasy usterek. Bezpieczna kolejność działań po wykryciu ostrzeżeniaNajpierw należy sprawdzić, czy istnieje aktualna i możliwa do odtworzenia kopia zapasowa bazy oraz dziennika transakcji. Gdy komunikaty się powtarzają, priorytetem jest zabezpieczenie danych i ograniczenie dodatkowych operacji obciążających wadliwą ścieżkę. Wymiana przewodu, przełączenie na sprawny port, kontrola zasilania lub usunięcie problemu z kontrolerem może być konieczne, ale takie czynności powinny być wykonywane z uwzględnieniem konfiguracji SQL Server i macierzy. Po ustabilizowaniu warstwy sprzętowej warto uruchomić odpowiednią kontrolę spójności, na przykład DBCC CHECKDB dla wskazanej bazy, zgodnie z procedurą utrzymania środowiska SQL Server. Wynik kontroli trzeba zachować i przeanalizować; nie należy rozpoczynać od poleceń naprawczych, ponieważ naprawa może powodować utratę części danych. Jeżeli Error 825 dotyczy pliku dziennika lub bazy używanej produkcyjnie, diagnostykę powinien prowadzić administrator SQL Server wspólnie z osobą odpowiedzialną za system przechowywania. Dalsza obserwacja dzienników po usunięciu przyczyny pozwala potwierdzić, czy ostrzeżenia przestały się pojawiać. |