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

SELECT @@VERSION

Termin Definicja
SELECT @@VERSION

SELECT @@VERSION zwraca pełną informację o wersji i buildzie zainstalowanego SQL Server.

SELECT @@VERSION — czym jest to zapytanie

SELECT @@VERSION jest krótkim zapytaniem języka T-SQL, służącym do odczytania informacji o środowisku Microsoft SQL Server. Po wykonaniu polecenia zwracany jest pojedynczy wynik tekstowy zawierający między innymi nazwę produktu, numer wersji, numer kompilacji, edycję serwera oraz informacje o systemie operacyjnym, na którym działa instancja. W praktyce jest to szybki sposób na ustalenie, z jaką generacją SQL Server ma się do czynienia bez przeglądania ustawień graficznych ani dokumentacji instalacyjnej.

Zapytanie nie wymaga wskazywania tabeli, schematu ani bazy danych. Zmienna systemowa @@VERSION jest dostępna w sesji serwera, dlatego polecenie może zostać uruchomione z poziomu SQL Server Management Studio, Azure Data Studio, narzędzi administracyjnych albo aplikacji korzystającej z połączenia T-SQL. Zwrócony tekst powinien zostać zachowany przed modernizacją, migracją lub diagnostyką, ponieważ ułatwia późniejsze odtworzenie stanu środowiska.

SELECT @@VERSION a identyfikacja wersji SQL Server

Wynik SELECT @@VERSION nie jest pojedynczym numerem w rodzaju „wersja główna i poprawka”. Zwykle obejmuje rozbudowany komunikat, w którym występują nazwa SQL Server, numer wersji produktu, numer kompilacji, data kompilacji, typ edycji oraz platforma systemowa. Dla osoby prowadzącej analizę ważne jest rozróżnienie tych informacji. Numer główny wskazuje rodzinę produktu, natomiast numer builda pozwala dokładniej określić poziom aktualizacji i porównać go z wymaganiami aplikacji.

Warto pamiętać, że określenie „wersja SQL Server” może oznaczać kilka różnych rzeczy. Jedna informacja opisuje generację silnika, inna poziom aktualizacji zbiorczej, jeszcze inna wersję narzędzi klienckich lub sterownika. Wynik @@VERSION dotyczy przede wszystkim instancji, do której nastąpiło połączenie. Jeżeli na tym samym komputerze działa kilka instancji, każda z nich może zwracać inny wynik. Sam fakt uruchomienia Management Studio w określonej wersji nie przesądza więc o wersji silnika znajdującego się po drugiej stronie połączenia.

Podobne zastosowanie mają funkcje i właściwości takie jak SERVERPROPERTY, na przykład ProductVersion, ProductLevel oraz Edition. Są one przydatne wtedy, gdy potrzebne są dane łatwiejsze do dalszego przetwarzania, filtrowania lub zapisania w raporcie. @@VERSION sprawdza się przede wszystkim jako szybki odczyt diagnostyczny i materiał do ręcznej interpretacji, natomiast SERVERPROPERTY lepiej nadaje się do skryptów kontrolnych. Przy porównywaniu środowisk powinno się używać tej samej metody odczytu i zapisywać wynik razem z datą oraz nazwą instancji.

SELECT @@VERSION — typowe problemy z interpretacją

Najczęstszy błąd polega na utożsamianiu numeru kompilacji z numerem wersji narzędzia, aplikacji albo sterownika. Zapytanie pokazuje informacje o serwerze, który wykonuje polecenie, a niekoniecznie o komponencie używanym do nawiązania połączenia. Możliwe jest zatem korzystanie z nowszego środowiska administracyjnego i jednoczesne połączenie ze starszą instancją SQL Server. Odwrotna sytuacja również nie musi oznaczać awarii, ale może wpływać na dostępność funkcji i sposób obsługi konfiguracji.

Drugą trudnością jest obecność wielu instancji lub serwerów w jednej sieci. Wpisanie zapytania w niewłaściwym oknie może zwrócić poprawny, lecz nie ten oczekiwany wynik. Przed wyciągnięciem wniosków należy sprawdzić nazwę połączenia, nazwę instancji, bazę kontekstu oraz konto, za pomocą którego nawiązano sesję. Przy pracy z pulą połączeń trzeba uwzględnić także możliwość kierowania kolejnych sesji do różnych węzłów środowiska. Sam tekst zwrócony przez @@VERSION nie zastępuje identyfikacji konkretnego hosta ani dokumentacji topologii.

Problemy może powodować również kopiowanie wyniku z konsoli do systemu zgłoszeń. Komunikat bywa wielowierszowy, a jego fragmenty mogą zostać obcięte przez interfejs, log aplikacji albo narzędzie automatyzujące. Zaleca się zachowanie pełnego wyniku w pliku tekstowym oraz zapisanie czasu wykonania polecenia. Jeżeli wynik jest potrzebny do analizy zgodności, nie powinno się usuwać linii opisujących edycję, platformę ani poziom kompilacji.

SELECT @@VERSION — praktyczne wskazówki użycia

Najprostsza forma polecenia wygląda następująco:

SELECT @@VERSION;

Średnik porządkuje zapis i ułatwia łączenie polecenia z innymi instrukcjami, choć w wielu konfiguracjach nie jest konieczny. Po wykonaniu warto odczytać pełny komunikat, a następnie oddzielić informacje dotyczące nazwy produktu, numeru builda, edycji oraz systemu. Przy sporządzaniu dokumentacji pomocne jest zestawienie wyników z kilku instancji w jednej tabeli, z dodatkowymi kolumnami na nazwę serwera, rolę środowiska i datę pomiaru.

Do okresowej kontroli lepiej przygotować skrypt oparty na właściwościach serwera. Przykładowo:

SELECT SERVERPROPERTY('ProductVersion') AS ProductVersion, SERVERPROPERTY('ProductLevel') AS ProductLevel, SERVERPROPERTY('Edition') AS Edition;

Taki odczyt zwraca osobne wartości, które łatwiej porównywać automatycznie. SELECT @@VERSION może wtedy służyć jako dodatkowy dowód kontekstowy, zwłaszcza gdy potrzebne są informacje o systemie operacyjnym lub pełnym komunikacie kompilacji. Nie powinno się jednak traktować samego zapytania jako testu wydajności, kontroli integralności baz ani potwierdzenia poprawności kopii zapasowych. Polecenie odczytuje metadane i nie diagnozuje wszystkich problemów występujących w usłudze.

Podczas zbierania danych do zgłoszenia dobrze jest dołączyć także opis objawu, moment jego wystąpienia, nazwę używanej aplikacji oraz informację, czy problem pojawia się na jednej, czy na wielu bazach. Sam wynik wersji jest wartościowy, lecz dopiero w połączeniu z kontekstem pozwala ocenić zgodność sterowników, składni, poziomu aktualizacji i ustawień połączenia.

Kiedy SELECT @@VERSION uzasadnia kontakt z serwisem

Pomoc techniczna może być potrzebna wtedy, gdy wynik SELECT @@VERSION jest niezgodny z dokumentacją środowiska, różni się pomiędzy komputerami albo wskazuje na inną instancję niż ta, z którą powinna pracować aplikacja. Zgłoszenie jest również zasadne, gdy nie udaje się nawiązać połączenia, narzędzie administracyjne zgłasza błędy sterownika, a ustalenie właściwego serwera wymaga sprawdzenia konfiguracji systemu i sieci. W takich przypadkach przydatne będzie przekazanie pełnego wyniku zapytania, bez skracania numeru kompilacji.

W Warszawie analizę problemu sprzętowego i konfiguracyjnego można powierzyć firmie Warszawskie Pogotowie Komputerowe 24/7. Przed rozpoczęciem prac warto przygotować informacje o urządzeniu, używanym systemie, aplikacji korzystającej z SQL Server oraz okolicznościach pojawienia się błędu. Dzięki temu łatwiej oddzielić problem samego silnika baz danych od kłopotów z połączeniem, uprawnieniami, siecią, dyskiem lub konfiguracją komputera.

Jeżeli zapytanie zwraca dane, lecz aplikacja nadal nie działa, nie należy zakładać, że przyczyną musi być wersja SQL Server. Możliwe są także niezgodne sterowniki, błędny adres instancji, wygasłe poświadczenia, brak wymaganych uprawnień, uszkodzone pliki konfiguracyjne albo niedostępna usługa. Wynik @@VERSION stanowi punkt wyjścia do uporządkowanej diagnostyki: potwierdza, z jakim silnikiem nawiązano kontakt, ale nie opisuje całego stanu środowiska.

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