SERVERPROPERTY (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di sistemi analitici (PDW)

Restituisce informazioni sulle proprietà dell'istanza del server.

Convenzioni di sintassi Transact-SQL

Nota

Microsoft Entra ID era precedentemente noto come Azure Active Directory (Azure AD).

Sintassi

SERVERPROPERTY ( 'propertyname' )

Importante

I numeri di versione motore di database per SQL Server e database SQL di Azure non sono confrontabili tra loro e rappresentano numeri di build interni per questi prodotti separati. Il motore di database per il database SQL di Azure è basato sulla stessa codebase del motore di database di SQL Server. Soprattutto, il motore di database nel database SQL di Azure include sempre i componenti più recenti del motore di database SQL. Ad esempio, la versione 12 di database SQL di Azure è più recente della versione 16 di SQL Server.

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

propertyname

Espressione che contiene le informazioni sulle proprietà da restituire per il server. propertyname può essere uno dei valori seguenti. L'uso di un nome proprietà non valido o non supportato in tale versione del motore di database restituirà NULL.

Proprietà Valori di codice restituiti
BuildClrVersion Versione di Microsoft .NET Framework Common Language Runtime (CLR) usata durante la compilazione dell'istanza di SQL Server.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: nvarchar(128)
Collation Nome delle regole di confronto predefinite per il server.

NULL = Input non valido o errore.

Tipo di dati di base: nvarchar(128)
CollationID ID delle regole di confronto di SQL Server.

Tipo di dati di base: int
ComparisonStyle Stile di confronto di Windows per le regole di confronto.

Tipo di dati di base: int
ComputerNamePhysicalNetBIOS Nome NetBIOS del computer locale in cui è in esecuzione l'istanza di SQL Server.

Per un'istanza cluster di SQL Server in un cluster di failover, questo valore cambia in caso di failover dell'istanza di SQL Server su altri nodi del cluster di failover.

In un'istanza autonoma di SQL Server questo valore rimane costante e restituisce lo stesso valore della proprietà MachineName.

Nota: se l'istanza di SQL Server è inclusa in un cluster di failover e si vuole ottenere il nome dell'istanza del cluster di failover, usare la proprietà MachineName.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: nvarchar(128)
Edition Edizione del prodotto installata per l'istanza di SQL Server. Usare il valore di questa proprietà per determinare le funzionalità e i limiti, ad esempio i limiti di capacità di calcolo per edizione di SQL Server. Nelle versioni a 64 bit del motore di database viene aggiunta la dicitura (64 bit) al nome della versione stessa.

Restituisce:

'Enterprise Edition'

'Enterprise Edition: licenze basate su core'

'Enterprise Evaluation Edition'

'Business Intelligence Edition'

'Developer Edition'

'Express Edition'

'Express Edition with Advanced Services'

'Standard Edition'

'Web Edition'

'SQL Azure' indica database SQL o Azure Synapse Analytics

'Azure SQL Edge Developer' indica l'edizione di solo sviluppo per SQL Edge di Azure

'SQL Edge di Azure' indica l'edizione a pagamento per SQL Edge di Azure

Tipo di dati di base: nvarchar(128)
EditionID EditionID rappresenta l'edizione del prodotto installata per l'istanza di SQL Server. Usare il valore di questa proprietà per determinare funzionalità e limiti, ad esempio limiti di capacità di calcolo per edizione di SQL Server.

1804890536 = Enterprise

1872460670 = Enterprise Edition: Core-based Licensing

610778273 = Valutazione enterprise

284895786 = Business Intelligence

-2117995310 = Developer

-1592396055 = Express

-133711905 = Express with Advanced Services

-1534726760 = Standard

1293598313 = Web

1674378470 = Database SQL o Azure Synapse Analytics

-1461570097 = SQL Edge di Azure Developer

1994083197 = SQL Edge di Azure

Tipo di dati di base: bigint
EngineEdition Edizione del motore di database dell'istanza di SQL Server installata nel server.

1 = Personal o Desktop Engine: non disponibile in SQL Server 2005 (9.x) e versioni successive.

2 = Standard (Per Standard, Web e Business Intelligence).

3 = Enterprise (per le edizioni Evaluation, Developer ed Enterprise).

4 = Express (Per Express, Express with Tools ed Express with Advanced Services)

5 = Database SQL

6 = Azure Synapse Analytics

8 = Istanza gestita di SQL di Azure

9 = SQL Edge di Azure (per tutte le edizioni di SQL Edge di Azure)

11 = Pool SQL serverless di Azure Synapse

Tipo di dati di base: int
FilestreamConfiguredLevel Livello di accesso di FILESTREAM configurato. Per altre informazioni, vedere Livello di accesso FILESTREAM.

0 = FILESTREAM è disabilitato

1 = FILESTREAM è abilitato per l'accesso Transact-SQL

2 = FILESTREAM è abilitato per l'accesso in streaming Transact-SQL e Win32 locale

3 = FILESTREAM è abilitato per Transact-SQL e per l'accesso in streaming Win32 locale e remoto

Tipo di dati di base: int
FilestreamEffectiveLevel Livello di accesso di FILESTREAM effettivo. Questo valore può essere diverso da FilestreamConfiguredLevel se il livello è stato modificato e vi è un'operazione di riavvio dell'istanza o del computer in sospeso. Per altre informazioni, vedere Livello di accesso FILESTREAM.

0 = FILESTREAM è disabilitato

1 = FILESTREAM è abilitato per l'accesso Transact-SQL

2 = FILESTREAM è abilitato per l'accesso in streaming Transact-SQL e Win32 locale

3 = FILESTREAM è abilitato per Transact-SQL e per l'accesso in streaming Win32 locale e remoto

Tipo di dati di base: int
FilestreamShareName Nome della condivisione utilizzata da FILESTREAM.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: nvarchar(128)
HadrManagerStatus Si applica a: SQL Server 2012 (11.x) e versioni successive.

Indica se è stato avviato lo strumento di gestione di Gruppi di disponibilità Always On.

0 = non avviata, comunicazione in sospeso.

1 = Avviata e in esecuzione.

2 = Non avviata e non riuscita.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: int
InstanceDefaultBackupPath Si applica a: SQL Server 2019 (15.x) e versioni successive.

Nome del percorso predefinito per i file di backup dell'istanza.
InstanceDefaultDataPath Si applica a: da SQL Server 2012 (11.x) alla versione corrente con aggiornamenti a partire da fine 2015.

Nome del percorso predefinito per i file di dati dell'istanza.

Tipo di dati di base: nvarchar(128)
InstanceDefaultLogPath Si applica a: da SQL Server 2012 (11.x) alla versione corrente con aggiornamenti a partire da fine 2015.

Nome del percorso predefinito per i file di log dell'istanza.

Tipo di dati di base: nvarchar(128)
InstanceName Nome dell'istanza a cui è connesso l'utente.

Restituisce NULL se il nome dell'istanza corrisponde all'istanza predefinita oppure in caso di input non valido o di errore.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: nvarchar(128)
IsAdvancedAnalyticsInstalled Restituisce 1 se la funzionalità di Advanced Analytics è stata installata durante l'installazione; 0 se Advanced Analytics non è stato installato.

Tipo di dati di base: int
IsBigDataCluster Introdotto in SQL Server 2019 (15.x) a partire da CU 4.

Restituisce 1 se l'istanza è un cluster Big Data di SQL Server; 0 in caso contrario.

Tipo di dati di base: int
IsClustered L'istanza del server è configurata in un cluster di failover.

1 = Cluster.

0 = Non cluster.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: int
IsExternalAuthenticationOnly Si applica a: Database SQL di Azure e Istanza gestita di SQL di Azure.

Restituisce un valore che indica se l'autenticazione solo Entra di Microsoft è abilitata.

1 = È abilitata l'autenticazione solo Entra-only di Microsoft.

0 = L'autenticazione solo Entra-only di Microsoft è disabilitata.

Tipo di dati di base: int
IsExternalGovernanceEnabled Si applica a: SQL Server 2022 (16.x) e versioni successive.

Restituisce un valore che indica se i criteri di accesso di Microsoft Purview sono abilitati.

1 = La governance esterna è abilitata.

0 = La governance esterna è disabilitata.

Tipo di dati di base: int
IsFullTextInstalled Indica se i componenti di indicizzazione full-text e semantica sono installati nell'istanza corrente di SQL Server.

1 = i componenti di indicizzazione full-text e semantica sono installati.

0 = i componenti di indicizzazione full-text e semantica non sono installati.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: int
IsHadrEnabled Si applica a: SQL Server 2012 (11.x) e versioni successive.

In questa istanza del server è abilitata la funzionalità Gruppi di disponibilità Always On.

0 = La funzionalità Gruppi di disponibilità AlwaysOn è abilitata.

1 = La funzionalità Gruppi di disponibilità AlwaysOn è disabilitata.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: int

Affinché sia possibile creare ed eseguire repliche di disponibilità in un'istanza di SQL Server, Gruppi di disponibilità AlwaysOn deve essere abilitato nell'istanza del server. Per altre informazioni, vedere Abilitare e disabilitare la funzionalità Gruppi di disponibilità Always On (SQL Server).

Nota: la proprietà IsHadrEnabled è pertinente solo a Gruppi di disponibilità AlwaysOn. Altre funzionalità a disponibilità elevata o di ripristino di emergenza, quali il mirroring del database o il log shipping, non sono interessate da questa proprietà server.
IsIntegratedSecurityOnly Indica se il server è in modalità di sicurezza integrata.

1 = Sicurezza integrata (autenticazione di Windows)

0 = Sicurezza integrata non attivata. Sia autenticazione di Windows sia autenticazione di SQL Server.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: int
IsLocalDB Si applica a: SQL Server 2012 (11.x) e versioni successive.

Server è un'istanza di SQL Server Express Local DB.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: int
IsPolyBaseInstalled Si applica a: SQL Server 2016 (13.x).

Determina se nell'istanza del server è installata la funzionalità PolyBase.

0 = PolyBase non è installato.

1 = PolyBase è installato.

Tipo di dati di base: int
IsServerSuspendedForSnapshotBackup Il server è in modalità di sospensione e richiede il disgelo a livello di server.

1 = Sospeso.

0 = Non sospeso

Tipo di dati di base: int
IsSingleUser Indica se nel server è attivata o meno la modalità utente singolo.

1 = Modalità utente singolo attivata.

0 = Modalità utente singolo non attivata.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: int
IsTempDbMetadataMemoryOptimized Si applica a: SQL Server 2019 (15.x) e versioni successive.

Restituisce 1 se tempdb è stato abilitato per l'uso di tabelle ottimizzate per la memoria per i metadati; 0 se tempdb si usano tabelle normali basate su disco per i metadati. Per altre informazioni, vedere tempdb Database.

Tipo di dati di base: int
IsXTPSupported Si applica a: SQL Server 2014 (12.x) e versioni successive, Database SQL.

Il server supporta il motore OLTP in memoria.

1 = Il server supporta il motore OLTP in memoria.

0 = Il server non supporta il motore OLTP in memoria.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: int
LCID Identificatore delle impostazioni locali (LCID) di Windows per le regole di confronto.

Tipo di dati di base: int
LicenseType Non utilizzato. Le informazioni sulla licenza non sono mantenute o non sono gestite dal prodotto SQL Server. Restituisce sempre DISABLED.

Tipo di dati di base: nvarchar(128)
MachineName Nome del computer Windows in cui è in esecuzione l'istanza del server.

Nel caso di un'istanza cluster, un'istanza di SQL Server eseguita in un server virtuale con Microsoft Cluster Services restituisce il nome del server virtuale.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: nvarchar(128)
NumLicenses Non utilizzato. Le informazioni sulla licenza non sono mantenute o non sono gestite dal prodotto SQL Server. Viene restituito sempre NULL.

Tipo di dati di base: int
PathSeparator Si applica a: SQL Server 2017 (14.x) e versioni successive.

Restituisce \ in Windows e / in Linux

Tipo di dati di base: nvarchar
ProcessID ID processo del servizio SQL Server. ProcessID è utile per identificare quale Sqlservr.exe appartiene all'istanza.

NULL = input non valido, errore o non applicabile.

Tipo di dati di base: int
ProductBuild Si applica a: SQL Server 2014 (12.x) a partire da ottobre 2015.

Numero di build.

Tipo di dati di base: nvarchar(128)
ProductBuildType Si applica a: da SQL Server 2012 (11.x) alla versione corrente con aggiornamenti a partire da fine 2015.

Tipo di build della build corrente.

Restituisce uno dei valori seguenti:

OD = versione su richiesta di un cliente specifico.

GDR = distribuzione generale rilasciata tramite Windows Update.

NULL = non applicabile.

Tipo di dati di base: nvarchar(128)
ProductLevel Livello della versione dell'istanza di SQL Server.

Restituisce uno dei valori seguenti:

'RTM' = Versione originale

'SPn' = Versione Service Pack

'CTPn' = versione Community Technology Preview

Tipo di dati di base: nvarchar(128)
ProductMajorVersion Si applica a: da SQL Server 2012 (11.x) alla versione corrente con aggiornamenti a partire da fine 2015.

La versione principale.

Tipo di dati di base: nvarchar(128)
ProductMinorVersion Si applica a: da SQL Server 2012 (11.x) alla versione corrente con aggiornamenti a partire da fine 2015.

La versione secondaria.

Tipo di dati di base: nvarchar(128)
ProductUpdateLevel Si applica a: da SQL Server 2012 (11.x) alla versione corrente con aggiornamenti a partire da fine 2015.

Livello di aggiornamento della build corrente. CU indica un aggiornamento cumulativo.

Restituisce uno dei valori seguenti:

CUn = Aggiornamento cumulativo

NULL = non applicabile.

Tipo di dati di base: nvarchar(128)
ProductUpdateReference Si applica a: da SQL Server 2012 (11.x) alla versione corrente con aggiornamenti a partire da fine 2015.

Articolo della Knowledge Base per la versione.

Tipo di dati di base: nvarchar(128)
ProductVersion Versione dell'istanza di SQL Server nel formato principale.secondaria.build.revisione.

Tipo di dati di base: nvarchar(128)
ResourceLastUpdateDateTime Restituisce la data e l'ora dell'ultimo aggiornamento del database Resource.

Tipo di dati di base: datetime
ResourceVersion Restituisce la versione del database Resource.

Tipo di dati di base: nvarchar(128)
ServerName Informazioni relative sia al server Windows che all'istanza associate all'istanza specificata di SQL Server.

NULL = Input non valido o errore.

Tipo di dati di base: nvarchar(128)
SqlCharSet ID del set di caratteri SQL dall'ID delle regole di confronto.

Tipo di dati di base: tinyint
SqlCharSetName Nome del set di caratteri SQL dalle regole di confronto.

Tipo di dati di base: nvarchar(128)
SqlSortOrder ID del tipo di ordinamento SQL dalle regole di confronto.

Tipo di dati di base: tinyint
SqlSortOrderName Nome dell'ordinamento SQL dalle regole di confronto.

Tipo di dati di base: nvarchar(128)
SuspendedDatabaseCount Numero di database sospesi nel server.

Tipo di dati di base: int

Tipi restituiti

sql_variant

Osservazioni:

Proprietà ServerName

La proprietà ServerName della funzione SERVERPROPERTY e @@SERVERNAME restituiscono informazioni simili. La proprietà ServerName restituisce il nome del server Windows e il nome dell'istanza che insieme compongono il nome univoco dell'istanza del server. @@SERVERNAME restituisce il nome del server locale attualmente configurato.

La proprietà ServerName e @@SERVERNAME restituiscono le stesse informazioni se il nome di server impostato come predefinito al momento dell'installazione non è stato modificato. Per configurare il nome del server locale eseguire l'istruzione seguente:

EXEC sp_dropserver 'current_server_name';
GO
EXEC sp_addserver 'new_server_name', 'local';
GO

Se il nome del server locale è stato modificato rispetto al nome del server impostato come predefinito al momento dell'installazione, @@SERVERNAME restituisce il nuovo nome.

La ServerName proprietà della SERVERPROPERTY funzione restituisce il nome del server Windows durante il salvataggio. Nelle versioni principali precedenti ha restituito lettere maiuscole. Questo comportamento è stato modificato in lettere maiuscole tra SQL Server 2019 (15.x) CU 9 e CU 12, ma a partire da SQL Server 2019 (15.x) CU 13, il nome del server viene restituito come salvato.

Se il nome del server Windows contiene caratteri minuscoli, questa modifica del comportamento può causare differenze tra la ServerName proprietà della SERVERPROPERTY funzione e @@edizione Standard RVERNAME (maiuscolo e minuscolo), anche se non viene apportata alcuna modifica al nome per il server.

Si supponga di disporre di un server denominato server01, con un'istanza di SQL Server denominata INST1. La tabella seguente riepiloga la modifica del comportamento tra diverse build di SQL Server 2019 (15.x):

Versione di SQL Server 2019 (15.x) SERVERPROPERTY('NomeServer') Informazioni aggiuntive
RTM SERVER01\INST1 Restituisce la proprietà ServerName in lettere maiuscole
CU 1 - CU 8 server01\INST1 Restituisce la proprietà ServerName così com'è, senza modificarla in lettere maiuscole
CU 9 – CU 12 SERVER01\INST1 Restituisce la proprietà ServerName in lettere maiuscole
CU 13 e versioni successive server01\INST1 Restituisce la proprietà ServerName così com'è, senza modificarla in lettere maiuscole

Proprietà versione

La funzione SERVERPROPERTY restituisce proprietà singole che si riferiscono alle informazioni sulla versione, mentre la funzione @@VERSION combina l'output in una stringa. Se l'applicazione richiede stringhe della proprietà singole, è possibile usare la funzione SERVERPROPERTY per restituirle anziché analizzare i risultati di @@VERSION.

Autorizzazioni

Tutti gli utenti possono eseguire una query sulle proprietà del server.

Esempi

Nell'esempio seguente viene usata la funzione SERVERPROPERTYin un'istruzione SELECT per restituire informazioni sull'istanza corrente di SQL Server.

SELECT
 SERVERPROPERTY('MachineName') AS ComputerName,
 SERVERPROPERTY('ServerName') AS InstanceName,
 SERVERPROPERTY('Edition') AS Edition,
 SERVERPROPERTY('ProductVersion') AS ProductVersion,
 SERVERPROPERTY('ProductLevel') AS ProductLevel;
GO

Per un elenco delle funzionalità supportate dalle edizioni di SQL Server, vedere: