| Termin | Definicja |
|---|---|
| załączenie bazy danych | Załączenie bazy danych to podłączenie jej plików do instancji poleceniem CREATE DATABASE ... FOR ATTACH. Na czym polega załączenie bazy danych w SQL ServerZałączenie bazy danych w Microsoft SQL Server polega na podłączeniu istniejących plików bazy do uruchomionej instancji tego silnika. Operację wykonuje się wtedy, gdy pliki zostały wcześniej odłączone od innej instancji, przeniesione w obrębie środowiska albo odzyskane z nośnika, a administrator chce ponownie udostępnić zawartą w nich bazę. Typowa baza SQL Server składa się z głównego pliku danych z rozszerzeniem Załączenie nie jest tym samym co utworzenie pustej bazy poleceniem Pliki, ścieżki i warunki wykonania operacjiPrzed wykonaniem załączenia trzeba ustalić, jakie pliki należą do bazy i gdzie znajdują się na dysku widzianym przez serwer SQL Server. Ścieżka użyta w klauzuli Najbezpieczniej jest znać pełną listę plików zapisanych w bazie. Można ją odczytać poleceniem Sprawdzanie zgodności i typowe komunikaty błędówSQL Server musi mieć możliwość otwarcia plików i odczytania ich wewnętrznych informacji. Istotna jest zgodność wersji silnika: baza utworzona w nowszej wersji SQL Server nie może zostać bezpośrednio załączona do starszej wersji. Po pomyślnym przeniesieniu bazy do nowszego wydania może zostać podniesiony jej poziom wewnętrznej zgodności, dlatego powrót do starszego silnika nie jest wtedy prostą operacją attach. Załączenie plików nie usuwa również problemów wynikających z uszkodzenia stron danych, niespójnego dziennika lub niepełnej kopii zestawu plików. Częstą przyczyną niepowodzenia jest brak uprawnień systemu plików. Konto usługi SQL Server powinno mieć dostęp do każdego wskazanego pliku oraz do katalogu, w którym znajdują się dane. Błąd może również wynikać z zajęcia pliku przez inną instancję, błędnej ścieżki, braku pliku NDF albo próby załączenia bazy, która nie została wcześniej poprawnie odłączona. Przed zmianami warto zachować kopię wszystkich plików i nie nadpisywać oryginałów. Po wykonaniu operacji należy sprawdzić stan bazy w widoku Attach nie przenosi wszystkich elementów zależnych od instancji. Loginy, zadania SQL Server Agent, poświadczenia, konfiguracja usług, uprawnienia na poziomie serwera oraz niektóre ustawienia nie są przechowywane wyłącznie w plikach bazy. Po podłączeniu mogą więc wystąpić osierocone użytkowniki bazodanowe, czyli użytkownicy zapisani w bazie bez odpowiadającego im loginu w instancji. Ich obsługę trzeba przeprowadzić osobno, zgodnie z konfiguracją konkretnego środowiska. Załączenie powinno być traktowane jako operacja administracyjna wymagająca weryfikacji, a nie jako metoda zastępująca regularne kopie zapasowe. Bezpieczny przebieg podłączenia bazyPraktyczny przebieg zaczyna się od identyfikacji źródła plików, ustalenia ich kompletności oraz sprawdzenia, czy baza była odłączona poleceniem Jeżeli celem jest migracja działającej bazy, preferowaną metodą jest zwykle kopia zapasowa i odtworzenie, ponieważ ten sposób obejmuje kontrolowany zapis stanu bazy oraz pozwala jawnie wskazać pliki i opcje odtwarzania. Attach ma zastosowanie przede wszystkim wtedy, gdy dostępny jest właściwy zestaw plików i zachodzi uzasadniona potrzeba bezpośredniego podłączenia ich do instancji. W środowisku diagnostycznym po operacji warto wykonać test zapytania, sprawdzić rozmiary plików, przeanalizować komunikaty silnika i potwierdzić działanie procedury backupu. Dzięki temu można odróżnić samo poprawne zarejestrowanie bazy od rzeczywistej gotowości do dalszej pracy. |