| Termin | Definicja |
|---|---|
| SERVERPROPERTY('ProductLevel') | SERVERPROPERTY('ProductLevel') wskazuje poziom aktualizacji, np. RTM, Service Pack lub Cumulative Update. Co zwraca SERVERPROPERTY('ProductLevel') w SQL ServerSERVERPROPERTY('ProductLevel') to właściwość systemowa aparatu Microsoft SQL Server odczytywana za pomocą funkcji SERVERPROPERTY. Zwraca tekstową informację o poziomie aktualizacji zainstalowanej instancji. Wynik opisuje główną gałąź obsługiwanego poziomu poprawek, na przykład RTM, SP1, SP2 albo SP3. Skrót RTM oznacza wydanie produkcyjne danej wersji, czyli „Release to Manufacturing”, natomiast SP oznacza Service Pack. Wartość nie jest numerem wersji silnika i nie zastępuje właściwości ProductVersion. Przykładowe zapytanie diagnostyczne ma postać ProductLevel a pełny numer kompilacji instancjiSama wartość ProductLevel daje tylko skróconą informację o poziomie aktualizacji. Nie pokazuje pełnego numeru kompilacji, numeru wydania skumulowanej poprawki ani wszystkich szczegółów zainstalowanego pakietu. Dlatego podczas sprawdzania stanu instancji należy odczytać ją razem z ProductVersion, Edition i EngineEdition. Przykładowe zapytanie może wyglądać następująco: ProductVersion zwraca numer w formacie zależnym od generacji SQL Server, na przykład numer główny, pomocniczy, kompilację i numer rewizji. To właśnie pełny numer kompilacji pozwala jednoznacznie porównać instancję z konkretnym biuletynem, aktualizacją zbiorczą lub wymaganiem aplikacji. ProductLevel może nadal wskazywać ogólny poziom, taki jak RTM lub określony Service Pack, mimo że na serwerze zainstalowano późniejsze aktualizacje kumulacyjne. Z tego powodu pojedynczy wynik ProductLevel nie wystarcza do potwierdzenia, że instancja zawiera najnowsze poprawki dla swojej gałęzi. Interpretacja wyniku przy inwentaryzacji i aktualizacji SQL ServerWynik SERVERPROPERTY('ProductLevel') jest przydatny przy szybkiej inwentaryzacji instancji oraz podczas analizy zgodności środowiska z wymaganiami programu. Jeżeli zapytanie zwróci RTM, oznacza to, że raportowany poziom produktu odpowiada bazowemu wydaniu danej wersji. Jeżeli zwróci oznaczenie Service Pack, można ustalić, do którego poziomu pakietu aktualizacyjnego odnosi się instancja. Nie należy jednak zakładać, że sama etykieta określa wszystkie zainstalowane poprawki bezpieczeństwa i jakości. W środowisku z kilkoma instancjami zapytanie trzeba wykonać na każdej instancji osobno. SERVERPROPERTY opisuje właściwości serwera, do którego zostało skierowane połączenie, a nie automatycznie wszystkie instancje dostępne w sieci. Wynik może być również różny dla instancji działających na tym samym komputerze, jeżeli zostały zainstalowane z różnych nośników lub były aktualizowane niezależnie. Przy porównywaniu systemów warto zapisać nazwę instancji, wersję SQL Server, ProductVersion, ProductLevel, edycję oraz datę wykonania odczytu. Podczas planowania aktualizacji ProductLevel powinien być traktowany jako jeden z elementów kontroli przed zmianą. Należy dodatkowo sprawdzić dokumentację konkretnego wydania SQL Server, obsługiwany system operacyjny, wymagania aplikacji, kolejność instalowania poprawek oraz zgodność z używanymi sterownikami i narzędziami klienckimi. Po aktualizacji warto ponownie wykonać zapytanie i porównać ProductVersion oraz ProductLevel z wartościami sprzed operacji. Taki zapis ułatwia stwierdzenie, czy aktualizacja objęła właściwą instancję. Rola tej właściwości w diagnostyce instancjiOdczyt ProductLevel może pomóc wyjaśnić różnice w zachowaniu dwóch instancji SQL Server, gdy korzystają one z tej samej aplikacji, lecz mają odmienne poziomy poprawek. Różnice kompilacji mogą wpływać na dostępność poprawek błędów, obsługę funkcji, działanie optymalizatora zapytań oraz reakcję na znane problemy opisane w dokumentacji producenta. Sama właściwość nie wykonuje testu poprawności bazy, nie sprawdza integralności plików danych i nie mierzy wydajności. Jest wyłącznie informacją o poziomie produktu zwracaną przez silnik. Jeżeli wynik jest pusty albo niezgodny z oczekiwaniami, należy sprawdzić, czy zapytanie wykonano w Microsoft SQL Server, czy użytkownik ma dostęp do instancji oraz czy nazwa właściwości została zapisana dokładnie jako ProductLevel. W praktyce pomocne jest równoczesne uruchomienie funkcji Przy awarii aplikacji korzystającej z SQL Server warto udokumentować ProductLevel wraz z pełnym ProductVersion przed rozpoczęciem naprawy. Informacja ta pozwala odróżnić problem wynikający z poziomu aktualizacji od błędów konfiguracji połączenia, uprawnień, schematu bazy lub samej aplikacji. Po wykonaniu zmian diagnostycznych ponowny odczyt tych właściwości stanowi prostą kontrolę, czy środowisko nadal działa na oczekiwanej kompilacji i czy nie połączono się przypadkowo z inną instancją. |