Néhány nappal ezelőtt jöttek ki az alábbi SQL Server frissítések:
Ezek a frissítések egy régi és sok helyen (rosszul) alkalmazott funkciót is megváltoztatnak: ez pedig a @@VERSION.
Lássuk, hogyan is nézett ki eddig a kimenet:
Ugye ezen látszik, hogy egy SQL Server 2014 SP1 CU2 verzióról van szó. Most nézzük meg ugyan ezt egy CU3 frissítéssel:
Aki eddig arra használta a @@VERSION parancsot, hogy megnézze az első zárójelben, hogy X64 vagy X86 van, annak ez most igen csak nagy probléma, mert ettől a frissítéstől kezdődően a Service Pack és a Cummulative Update információk lesznek ott.
Alapvetően nem a @@VERSION a legjobb módja, hogy verzióval kapcsolatos információkat megnézzük, hanem a SERVERPROPERTY:
SELECT
SERVERPROPERTY('ProductLevel') AS ProductLevel,
SERVERPROPERTY('ProductUpdateLevel') AS ProductUpdateLevel,
SERVERPROPERTY('ProductUpdateReference') AS ProductUpdateReference,
'https://support.microsoft.com/en-us/kb/' + CAST(SERVERPROPERTY('ProductUpdateReference') AS varchar) AS ProductUpdateReferenceUrl,
SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('ProductMajorVersion') AS ProductMajorVersion,
SERVERPROPERTY('ProductMinorVersion') AS ProductMinorVersion,
SERVERPROPERTY('ProductBuild') AS ProductBuild
GO
Amit itt észre kell venni, azok az új paraméterek:
- ProductUpdateLevel: ez a CU számát adja meg, ha nem értelmezhető, akkor NULL
- ProductUpdateReference: ez a KB cikk száma, látható, hogy fel is hasznaltam az url generáláshoz.
- ProductBuildType: ez a build típusa, ami lehet GDR - hagyományos release, OD - speciálisan egy ügyfélnek lett kiadva, vagy NULL.
Személy szerint örülök ezeknek a változásoknak, azonban azzal is tisztában kell lenni, hogy a @@version kimenetének változtatása sok rendszer esetén lehet gond.