Condividi tramite


SERVERPROPERTY (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di analisi (PDW)Endpoint di analisi SQL in Microsoft FabricMagazzino in Microsoft FabricDatabase SQL in Microsoft Fabric

Restituisce informazioni sulle proprietà dell'istanza del server.

Convenzioni relative alla sintassi Transact-SQL

Note

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

Syntax

SERVERPROPERTY ( 'propertyname' )

Important

I numeri di versione del motore di database per SQL Server e il database SQL di Azure e Microsoft Fabric 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. Ade esempio, la versione 12 del database SQL di Azure è più recente della versione 16 di SQL Server.

Arguments

propertyname

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

Property Valori restituiti
BuildClrVersion Versione di CLR (Common Language Runtime) di Microsoft .NET Framework usata per la compilazione dell'istanza di SQL Server.

NULL = L'input non è valido, un errore o non è applicabile.

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

NULL = L'input non è valido o un 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 MachineName proprietà.

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

NULL = L'input non è valido, un 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, come ad esempio in Limiti della 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.

Utilizzare la tabella Edition seguente per identificare i valori possibili.

Tipo di dati di base: nvarchar(128)
EditionID Rappresenta l'ID dell'edizione del prodotto installata dell'istanza di SQL Server. Usare il valore di questa proprietà per determinare le funzionalità e i limiti, come ad esempio in Limiti della capacità di calcolo per edizione di SQL Server.

Utilizzare la tabella Edition seguente per identificare i valori possibili.

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 sviluppatori Standard, Standard, Web e Business Intelligence).
3 = Enterprise (per le edizioni Enterprise, Enterprise Developer, Developer e Evaluation).
4 = Express (per le edizioni 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 o Microsoft Fabric
12 = database SQL Microsoft Fabric in Microsoft Fabric.

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 streaming a Transact-SQL e a Win32 locale
3 = FILESTREAM è abilitato per Transact-SQL e 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 streaming a Transact-SQL e a Win32 locale
3 = FILESTREAM è abilitato per Transact-SQL e l'accesso in streaming Win32 locale e remoto.

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

NULL = L'input non è valido, un errore o non è applicabile.

Tipo di dati di base: nvarchar(128)
HadrManagerStatus 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 = L'input non è valido, un errore o non è applicabile.

Tipo di dati di base: int
InstanceDefaultBackupPath Nome del percorso predefinito per i file di backup dell'istanza.

Si applica a: SQL Server 2019 (15.x) e versioni successive.

Tipo di dati di base: nvarchar(128)
InstanceDefaultDataPath Nome del percorso predefinito per i file di dati dell'istanza.

Si applica a: SQL Server.

Tipo di dati di base: nvarchar(128)
InstanceDefaultLogPath Nome del percorso predefinito per i file di log dell'istanza.

Si applica a: SQL Server.

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

Restituisce NULL se il nome dell'istanza è l'istanza predefinita, se l'input non è valido o errore.

NULL = L'input non è valido, un 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 Introdotta 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 = L'input non è valido, un errore o non è applicabile.

Tipo di dati di base: int
IsExternalAuthenticationOnly Restituisce nel momento in cui l'autenticazione basata solo su Microsoft Entra è abilitata

1 = L'autenticazione basata solo su Microsoft Entra è abilitata.
0 = L'autenticazione basata solo su Microsoft Entra è disabilitata.

Si applica a: Database SQL di Azure e Istanza gestita di SQL di Azure.

Tipo di dati di base: int
IsExternalGovernanceEnabled Restituisce nel momento in cui i criteri di accesso di Microsoft Purview sono abilitati.

1 = La governance esterna è abilitata.
0 = La governance esterna è disabilitata.

Si applica a: SQL Server 2022 (16.x) e versioni successive.

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 = L'input non è valido, un errore o non è applicabile.

Tipo di dati di base: int
IsHadrEnabled 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 = L'input non è valido, un errore o non è applicabile.

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 o disabilitare la funzionalità del gruppo di disponibilità AlwaysOn.

Nota: La IsHadrEnabled proprietà riguarda solo i 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.

Si applica a: SQL Server.

Tipo di dati di base: int
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 = L'input non è valido, un errore o non è applicabile.

Tipo di dati di base: int
IsLocalDB Server è un'istanza di SQL Server Express Local DB.

NULL = L'input non è valido, un errore o non è applicabile.

Si applica a: SQL Server.

Tipo di dati di base: int
IsPolyBaseInstalled Determina se nell'istanza del server è installata la funzionalità PolyBase.

0 = PolyBase non è installato.
1 = PolyBase è installato.

Si applica a: SQL Server 2016 (13.x) e versioni successive.

Tipo di dati di base: int
IsServerSuspendedForSnapshotBackup Il server è in modalità di sospensione e richiede lo sblocco 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 = L'input non è valido, un errore o non è applicabile.

Tipo di dati di base: int
IsTempDbMetadataMemoryOptimized Restituisce 1 se tempdb è stato abilitato per l'uso di tabelle ottimizzate per la memoria per i metadati; 0 se tempdb usa tabelle regolari basate su disco per i metadati. Per altre informazioni, vedere tempdb Database.

Si applica a: SQL Server 2019 (15.x) e versioni successive.

Tipo di dati di base: int
IsXTPSupported 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 = L'input non è valido, un errore o non è applicabile.

Si applica a: SQL Server 2014 (12.x) e versioni successive e database SQL di Azure.

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 Unused. 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 = L'input non è valido, un errore o non è applicabile.

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

Tipo di dati di base: int
PathSeparator Restituisce \ in Windows e / in Linux

Si applica a: SQL Server 2017 (14.x) e versioni successive.

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

NULL = L'input non è valido, un errore o non è applicabile.

Tipo di dati di base: int
ProductBuild Numero di build.

Si applica a: SQL Server 2014 (12.x) e versioni successive.

Tipo di dati di base: nvarchar(128)
ProductBuildType 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.

Si applica a: SQL Server.

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 La versione principale.

Si applica a: SQL Server.

Tipo di dati di base: nvarchar(128)
ProductMinorVersion La versione secondaria.

Si applica a: SQL Server.

Tipo di dati di base: nvarchar(128)
ProductUpdateLevel Livello di aggiornamento della build corrente. CU indica un aggiornamento cumulativo.

Restituisce uno dei valori seguenti:

CUn = Aggiornamento cumulativo
NULL = Non applicabile.

Si applica a: SQL Server e Istanza gestita di SQL di Azure.

Tipo di dati di base: nvarchar(128)
ProductUpdateReference Articolo della Knowledge Base per la versione.

Si applica a: SQL Server.

Tipo di dati di base: nvarchar(128)
ProductUpdateType Aggiornare la seguente frequenza di aggiornamento per l'istanza. Corrisponde ai criteri di aggiornamento dell’Istanza gestita di SQL di Azure.

Restituisce uno dei valori seguenti:

Unità di capacità: gli aggiornamenti vengono implementati tramite aggiornamenti cumulativi (unità di capacità) per la versione principale di SQL Server corrispondente (criteri di aggiornamento di SQL Server 2022).

Continuous = Le nuove funzionalità vengono introdotte in Istanza gestita di SQL di Azure non appena sono disponibili, indipendentemente dalla frequenza di rilascio di SQL Server (sempre-up-to-date update policy).

Si applica a: Istanza gestita di SQL di Azure.

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 Sia il server Windows che le informazioni sull'istanza associate a un'istanza specificata.

NULL = L'input non è valido o un 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 dell'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

Nella tabella seguente sono elencati i valori possibili per EditionID e Edition.

EditionID Edition
1804890536 Enterprise
1872460670 Enterprise Edition: licenze basate su core
610778273 Valutazione enterprise
284895786 Intelligenza aziendale
-2117995310 Developer 1 o Developer Enterprise 2
-2509700633 Sviluppatore Standard 2
-1592396055 Express
-133711905 Express con Advanced Services
-1534726760 Normale
1293598313 Web 1
1674378470 Database SQL o Azure Synapse Analytics
-1461570097 Azure SQL Edge Developer 3
1994083197 SQL Edge di Azure 4

1Si applica a: SQL Server 2022 (16.x) e versioni precedenti.
2Si applica a: SQL Server 2025 (17.x) e versioni successive.
3 Indica l'edizione di sola sviluppo per SQL Edge di Azure.
4 Indica l'edizione a pagamento per SQL Edge di Azure.

Tipi restituiti

sql_variant

Remarks

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:

EXECUTE sp_dropserver 'current_server_name';
GO

EXECUTE 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 proprietà ServerName della funzione SERVERPROPERTY 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 potrebbe causare differenze tra la ServerName proprietà della SERVERPROPERTY funzione e @@SERVERNAME (maiuscole e minuscole), anche se non è presente alcuna modifica del nome per il server.

Si supponga di disporre di un server denominato server01, con un'istanza di SQL Server denominata INST1. Nella tabella seguente vengono riepilogate le variazioni di comportamento tra le varie build di SQL Server 2019 (15.x):

Versione di SQL Server 2019 (15.x) SERVERPROPERTY('ServerName') 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à della 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.

Permissions

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

Examples

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