SQL Server

Verificare la versione di Microsoft SQL Server installata nel sistema

Ci sono vari modi per verificare la versione di SQL Server. Il primo metodo è quello di connettersi con la console SQL Server Management Studio e nella sezione Object Explorer troviamo indicata la versione dell’istanza.

Il secondo metodo, un po’ più scomodo, è quello di andare ad aprire i file di LOG che per impostazione predefinita si trovano nella directory C:\Program Files\Microsoft SQL Server\MSSQLnn.MSSQLSERVER\MSSQL\Log. In questa cartella troviamo tutti i file di LOG ed aprendo ad esempio il file ERROR possiamo trovare all’inizio del file le informazioni sulla versione. Ad esempio:

2019-06-03 10:30:41.52 Server      Microsoft SQL Server 2016 (SP2-GDR) (KB4293802) - 13.0.5081.1 (X64) 
    Jul 20 2018 22:12:40 
    Copyright (c) Microsoft Corporation
    Standard Edition (64-bit) on Windows Server 2016 Standard 10.0  (Build 14393: ) (Hypervisor)

Il terzo metodo per recuperare la versione di SQL Server è tramite query. Vediamo due esempi.

Nel primo esempio recuperiamo le stesse informazioni che abbiamo potuto vedere anche nel file di LOG

select @@version

Microsoft SQL Server 2016 (SP2-GDR) (KB4293802) - 13.0.5081.1 (X64)   Jul 20 2018 22:12:40
Copyright (c) Microsoft Corporation  Standard Edition (64-bit)
on Windows Server 2016 Standard 10.0  (Build 14393: ) (Hypervisor) 

Nel secondo esempio possiamo vedere le informazioni in modo più strutturato

SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')

Il risultato della query sarà

Partendo dall’esempio precedente di seguito sono riportate tutte le proprietà dell’istruzione SERVERPROPERTY

  • ProductBuildType: Tipo di compilazione della generazione corrente, es. GDR = GDR rilasciati tramite windows update
  • ProductLevel: Livello versione dell’istanza, es. RTM – SPn = Service pack – CTPn = Community Technology Preview
  • Edition: Edizione dell’istanza, Es. Standard o Enterprise
  • ProductUpdateLevel: Livello di aggiornamento corrente, es. CUn = aggiornamento cumulativo
  • ProductUpdateReference: Articolo della Knowledge base per il rilascio
  • ProductBuild: Il numero di build
  • ProductMajorVersion: La versione principale
  • ProductMinorVersion: La versione secondaria
  • InstanceDefaultDataPath: Percorso in cui verranno creati i file di dati per un database di questa istanza
  • InstanceDefaultLogPath: Percorso in cui verranno creati i file di registro per qualsiasi database in questa istanza

Possiamo quindi eseguire la seguente query

SELECT
   SERVERPROPERTY('ProductLevel') AS ProductLevel,
   SERVERPROPERTY('ProductUpdateLevel') AS ProductUpdateLevel,
   SERVERPROPERTY('ProductBuildType') AS ProductBuildType,
   SERVERPROPERTY('ProductUpdateReference') AS ProductUpdateReference,
   SERVERPROPERTY('Edition') as Edition,
   SERVERPROPERTY('ProductVersion') AS ProductVersion,
   SERVERPROPERTY('ProductMajorVersion') AS ProductMajorVersion,
   SERVERPROPERTY('ProductMinorVersion') AS ProductMinorVersion,
   SERVERPROPERTY('ProductBuild') AS ProductBuild
GO

che restituisce il seguente risultato