| Termin | Definicja |
|---|---|
| Widok sys.database_compatibility_levels | sys.database_compatibility_levels zwraca listę dostępnych poziomów zgodności bazy obsługiwanych przez instancję. Rola widoku sys.database_compatibility_levels w SQL Server
Widok opisuje możliwości bieżącej instancji, dlatego jego wynik należy interpretować w kontekście serwera, na którym wykonano zapytanie. Ta sama baza danych może mieć inny dozwolony poziom zgodności po przeniesieniu na starszą albo nowszą wersję SQL Server. Dostępność wartości nie oznacza jednak, że każda z nich będzie właściwa dla konkretnej aplikacji. Wybór poziomu powinien uwzględniać używane zapytania, procedury składowane, funkcje języka i zachowanie planów wykonania. Jak odczytać dostępne poziomy zgodnościNajprostsze zapytanie odczytujące zawartość widoku ma postać W praktyce wynik tego widoku warto porównać z ustawieniem konkretnej bazy, odczytywanym z widoku Poziom zgodności a działanie zapytańPoziom zgodności jest ustawieniem bazy danych, ale nie przełącza całego aparatu SQL Server na starszą wersję. Funkcje silnika, formaty plików i możliwości instancji nadal wynikają z wersji oraz konfiguracji serwera. Poziom może natomiast zachować wybrane wcześniejsze reguły interpretacji języka i starsze zachowanie optymalizatora, co pomaga ograniczyć ryzyko po aktualizacji środowiska. Zmiana poziomu może wpłynąć między innymi na wybór planu wykonania, estymację liczby wierszy, sposób optymalizacji predykatów oraz dostępność określonych składni. Dlatego przed zmianą należy przetestować zapytania o dużym znaczeniu dla działania aplikacji, procedury składowane i zadania wykonywane cyklicznie. Przydatne jest również porównanie czasu wykonania, planów zapytań oraz obciążenia procesora i pamięci przed zmianą i po niej. Sam fakt, że nowa wartość jest zwracana przez widok, potwierdza jej obsługę przez instancję, ale nie potwierdza poprawności działania aplikacji po jej zastosowaniu. Sprawdzanie ustawienia przed migracją bazyPodczas przenoszenia bazy na inną instancję warto najpierw odczytać jej bieżący poziom zgodności, a następnie sprawdzić listę wartości dostępnych na serwerze docelowym. Jeżeli docelowa instancja nie obsługuje poziomu używanego przez bazę, konieczne jest zaplanowanie odpowiedniej zmiany. Do ustawienia poziomu służy polecenie Diagnostyka powinna obejmować także identyfikację błędów składni, ostrzeżeń, nieoczekiwanych zmian planów i różnic w wynikach zapytań. Przydatne jest zapisanie stanu wyjściowego z |