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('EngineEdition')

Termin Definicja
SERVERPROPERTY('EngineEdition')

SERVERPROPERTY('EngineEdition') zwraca numeryczny identyfikator typu silnika, np. Standard, Enterprise czy Azure SQL.

SERVERPROPERTY('EngineEdition') jako identyfikator wariantu silnika

SERVERPROPERTY('EngineEdition') jest właściwością systemową aparatu baz danych Microsoft SQL Server. Wywołanie funkcji SERVERPROPERTY z argumentem 'EngineEdition' zwraca wartość liczbową opisującą wariant używanego silnika. Nie jest to nazwa edycji prezentowana użytkownikowi, lecz kod przeznaczony przede wszystkim do rozpoznawania platformy przez skrypty administracyjne, narzędzia diagnostyczne i procedury instalacyjne.

Przykładowe zapytanie ma postać SELECT SERVERPROPERTY('EngineEdition') AS EngineEdition;. Wynik jest zwracany jako wartość typu sql_variant, dlatego przy dalszych porównaniach można jawnie przekonwertować go na liczbę całkowitą: SELECT CONVERT(int, SERVERPROPERTY('EngineEdition')) AS EngineEdition;. Sama funkcja nie testuje wydajności, dostępnych zasobów ani poprawności konfiguracji. Informuje wyłącznie o rozpoznanym rodzaju aparatu bazy danych.

Kody zwracane przez SQL Server i usługi platformy Azure

W klasycznych instalacjach Microsoft SQL Server kod 1 oznacza starszą edycję Personal lub Desktop, kod 2 edycję Standard, kod 3 edycję Enterprise, a kod 4 edycję Express. Znaczenie kodu należy interpretować w kontekście produktu i jego wersji, ponieważ ta sama funkcja jest używana również przez usługi chmurowe oraz wyspecjalizowane warianty silnika.

Dla usług firmy Microsoft działających w Azure spotykane są między innymi następujące wartości: 5 oznacza Azure SQL Database, 6 Azure Synapse Analytics, 8 Azure SQL Managed Instance, 9 Azure SQL Edge, a 11 bezserwerową pulę SQL w Azure Synapse. Kody te nie są nazwami edycji instalowanych na typowym komputerze. W praktyce skrypt nie powinien zakładać, że każda wartość większa od 4 oznacza kolejną edycję lokalnego SQL Servera.

Rozróżnienie EngineEdition, Edition i wersji produktu

EngineEdition nie zastępuje właściwości Edition. Pierwsza zwraca liczbową klasę silnika, natomiast druga zwraca tekstową nazwę edycji, na przykład Express Edition, Standard Edition albo Enterprise Edition. Do pełniejszego rozpoznania środowiska można użyć zapytania:

SELECT SERVERPROPERTY('EngineEdition') AS EngineEdition, SERVERPROPERTY('Edition') AS Edition, SERVERPROPERTY('ProductVersion') AS ProductVersion, SERVERPROPERTY('ProductLevel') AS ProductLevel; Wynik pozwala zestawić kod rodzaju silnika z nazwą edycji, numerem wersji produktu i poziomem aktualizacji. Jest to istotne, gdy zachowanie lub dostępność funkcji zależy nie tylko od edycji, lecz także od konkretnej wersji SQL Servera i zainstalowanego pakietu aktualizacji.

Wykorzystanie właściwości w skryptach kontrolnych

Wartość EngineEdition może służyć do warunkowego uruchamiania instrukcji T-SQL. Przykładowo skrypt może odczytać kod, zapisać go w zmiennej i rozdzielić obsługę lokalnego SQL Servera od usług Azure: DECLARE @engineEdition int = CONVERT(int, SERVERPROPERTY('EngineEdition'));. Następnie instrukcja IF lub konstrukcja CASE może wybrać odpowiednią ścieżkę. Takie rozpoznanie jest bezpieczniejsze niż sprawdzanie samego tekstu zwracanego przez Edition, ponieważ nazwy mogą zawierać dodatkowe informacje o platformie.

Nie należy jednak traktować kodu jako samodzielnego dowodu, że określona funkcja jest dostępna. Uprawnienia, tryb działania, wersja silnika, konfiguracja instancji oraz poziom zgodności bazy danych mogą wpływać na wynik konkretnego testu. Przy analizie problemu z Microsoft SQL Serverem warto zapisać zarówno EngineEdition, jak i Edition, ProductVersion oraz ProductLevel, a następnie porównać je z dokumentacją właściwą dla używanej wersji produktu. Dzięki temu liczbowy identyfikator pozostaje elementem rzetelnej identyfikacji środowiska, a nie uproszczoną diagnozą całej instalacji.

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