Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

SERVERPROPERTY('ProductVersion')

Termin Definicja
SERVERPROPERTY('ProductVersion')

SERVERPROPERTY('ProductVersion') zwraca pełny numer wersji instancji SQL Server.

Co zwraca ta funkcja

SERVERPROPERTY to funkcja systemowa SQL Server przyjmująca nazwę właściwości jako tekst. Wywołanie SELECT SERVERPROPERTY('ProductVersion') zwraca numer wersji w postaci czteroczłonowej, na przykład złożonej z numeru głównego, pomocniczego, numeru kompilacji i rewizji. Numer główny odpowiada wersji produktu, przy czym mapowanie nie jest oczywiste i trzeba je sprawdzić w tabeli wersji, a nie zgadywać. Wartość zwracana ma typ sql_variant, więc przy łączeniu z tekstem trzeba ją rzutować, na przykład CAST(SERVERPROPERTY('ProductVersion') AS nvarchar(128)).

W sąsiedztwie przydają się inne właściwości: ProductLevel zwracające poziom poprawek, Edition z nazwą edycji, EngineEdition rozróżniające wersję Express, Standard, Enterprise i chmurową, oraz IsClustered i Collation.

Czym różni się od pozostałych sposobów sprawdzenia wersji

Polecenie SELECT @@VERSION zwraca długi napis zawierający wersję, poziom poprawek, edycję i wersję systemu operacyjnego, czytelny dla człowieka, ale kiepski do porównywania w skrypcie. SERVERPROPERTY daje wartość nadającą się do warunku, bo można ją rozbić po kropkach i porównać liczbowo. Trzecim źródłem jest widok sys.dm_os_host_info opisujący system, na którym silnik działa. Wersja instancji nie jest tożsama z wersją bazy: baza przeniesiona ze starszej instancji zachowuje własny poziom zgodności, widoczny w kolumnie compatibility_level widoku sys.databases, i to on decyduje o dostępności części funkcji języka.

Osobno warto sprawdzić wersję narzędzia klienckiego. SQL Server Management Studio ma własną numerację, niezwiązaną z wersją silnika.

Po co w ogóle to sprawdzać

Powodów jest kilka bardzo praktycznych. Programy handlowe wymagają konkretnego minimum wersji silnika i odmawiają aktualizacji na starszej instancji, zwykle z komunikatem wskazującym wymaganą wersję. Kopia zapasowa wykonana na nowszej instancji nie da się odtworzyć na starszej, i nie ma na to obejścia poza eksportem danych. Poziom poprawek decyduje o podatnościach, a instancje Express mają twarde ograniczenia rozmiaru pojedynczej bazy oraz wykorzystania pamięci i rdzeni, co przy rosnącej bazie sprzedażowej staje się realną ścianą.

Najczęstsza pomyłka polega na sprawdzeniu wersji na jednej instancji, podczas gdy na serwerze działa ich kilka, każda pod własną nazwą i portem, a program łączy się do innej niż testowana.

Serwery baz danych w małych firmach

Wdrażamy i utrzymujemy oprogramowanie handlowe oparte o SQL Server, więc aktualizacje instancji, migracje baz na nowszy silnik i przenoszenie ich na wydajniejszy sprzęt należą do naszej codziennej pracy. Sprawdzamy przy tym zgodność wersji z wymaganiami Subiekta, WAPRO czy Comarcha, konfigurujemy kopie zapasowe wraz z testowym odtworzeniem i ustawiamy monitorowanie wolnego miejsca, bo zapełniony dysk logów potrafi zatrzymać sprzedaż w środku dnia. Pracujemy również nocą, kiedy migracja nie koliduje z wystawianiem dokumentów.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę