--- title: "SERVERPROPERTY (Transact-SQL)" description: "SERVERPROPERTY returns property information about the server instance" author: VanMSFT ms.author: vanto ms.reviewer: randolphwest, amitkh-msft ms.date: 08/26/2024 ms.service: sql ms.subservice: t-sql ms.topic: reference f1_keywords: - "SERVERPROPERTY_TSQL" - "SERVERPROPERTY" - "sql13.swb.serverpropeties.connections.f1" helpviewer_keywords: - "Availability Groups [SQL Server], monitoring" - "SERVERPROPERTY function" - "server instance property information [SQL Server]" - "IsHadrEnabled server property" - "instances of SQL Server, property information" - "server properties [SQL Server]" dev_langs: - "TSQL" ms.custom: - build-2024 monikerRange: ">=aps-pdw-2016 || =azuresqldb-current || =azure-sqldw-latest || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current" --- # SERVERPROPERTY (Transact-SQL) [!INCLUDE [sql-asdb-asdbmi-asa-pdw](../../includes/applies-to-version/sql-asdb-asdbmi-asa-pdw.md)] Returns property information about the server instance. :::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: [Transact-SQL syntax conventions](../../t-sql/language-elements/transact-sql-syntax-conventions-transact-sql.md) [!INCLUDE [entra-id](../../includes/entra-id.md)] ## Syntax ```syntaxsql SERVERPROPERTY ( 'propertyname' ) ``` > [!IMPORTANT] > The [!INCLUDE [ssDE-md](../../includes/ssde-md.md)] version numbers for [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] and [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)] aren't comparable with each other, and represent internal build numbers for these separate products. The [!INCLUDE [ssDE-md](../../includes/ssde-md.md)] for [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)] is based on the same code base as the [!INCLUDE [ssDEnoversion](../../includes/ssdenoversion-md.md)]. Most importantly, the [!INCLUDE [ssDE-md](../../includes/ssde-md.md)] in [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)] always has the newest SQL [!INCLUDE [ssDE-md](../../includes/ssde-md.md)] bits. For example, version 12 of [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)] is newer than version 16 of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)]. ## Arguments #### *propertyname* An expression that contains the property information to be returned for the server. *propertyname* can be one of the values below. Use of a *propertyname* that is invalid or not supported on that version of the Database Engine will return `NULL`. | Property | Values returned | | --- | --- | | `BuildClrVersion` | Version of the [!INCLUDE [msCoName](../../includes/msconame-md.md)] [!INCLUDE [dnprdnshort](../../includes/dnprdnshort-md.md)] common language runtime (CLR) that was used while building the instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)].

NULL = Input isn't valid, an error, or not applicable.

Base data type: **nvarchar(128)** | | `Collation` | Name of the default collation for the server.

NULL = Input isn't valid, or an error.

Base data type: **nvarchar(128)** | | `CollationID` | ID of the [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] collation.

Base data type: **int** | | `ComparisonStyle` | Windows comparison style of the collation.

Base data type: **int** | | `ComputerNamePhysicalNetBIOS` | NetBIOS name of the local computer on which the instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] is currently running.

For a clustered instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] on a failover cluster, this value changes as the instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] fails over to other nodes in the failover cluster.

On a stand-alone instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)], this value remains constant and returns the same value as the MachineName property.

**Note:** If the instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] is in a failover cluster and you want to obtain the name of the failover clustered instance, use the MachineName property.

NULL = Input isn't valid, an error, or not applicable.

Base data type: **nvarchar(128)** | | `Edition` | Installed product edition of the instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)]. Use the value of this property to determine the features and the limits, such as [Compute capacity limits by edition of SQL Server](../../sql-server/compute-capacity-limits-by-edition-of-sql-server.md). 64-bit versions of the [!INCLUDE [ssDE](../../includes/ssde-md.md)] append (64-bit) to the version.

Returns:

'Enterprise Edition'

'Enterprise Edition: Core-based Licensing'

'Enterprise Evaluation Edition'

'Business Intelligence Edition'

'Developer Edition'

'Express Edition'

'Express Edition with Advanced Services'

'Standard Edition'

'Web Edition'

'SQL Azure' indicates [!INCLUDE [ssSDS](../../includes/sssds-md.md)] or [!INCLUDE [ssazuresynapse-md](../../includes/ssazuresynapse-md.md)]

'Azure SQL Edge Developer' indicates the development only edition for Azure SQL Edge

'Azure SQL Edge' indicates the paid edition for Azure SQL Edge

Base data type: **nvarchar(128)** | | `EditionID` | EditionID represents the installed product edition of the instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)]. Use the value of this property to determine features and limits, such as [Compute capacity limits by edition of SQL Server](../../sql-server/compute-capacity-limits-by-edition-of-sql-server.md).

1804890536 = Enterprise

1872460670 = Enterprise Edition: Core-based Licensing

610778273 = Enterprise Evaluation

284895786 = Business Intelligence

-2117995310 = Developer

-1592396055 = Express

-133711905 = Express with Advanced Services

-1534726760 = Standard

1293598313 = Web

1674378470 = [!INCLUDE [ssSDS](../../includes/sssds-md.md)] or [!INCLUDE [ssazuresynapse-md](../../includes/ssazuresynapse-md.md)]

-1461570097 = Azure SQL Edge Developer

1994083197 = Azure SQL Edge

Base data type: **bigint** | | `EngineEdition` | [!INCLUDE [ssDE](../../includes/ssde-md.md)] edition of the instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] installed on the server.

1 = Personal or Desktop Engine (Not available in [!INCLUDE [ssVersion2005](../../includes/ssversion2005-md.md)] and later versions.)

2 = Standard (For Standard, Web, and Business Intelligence.)

3 = Enterprise (For Evaluation, Developer, and Enterprise editions.)

4 = Express (For Express, Express with Tools, and Express with Advanced Services)

5 = [!INCLUDE [ssSDS](../../includes/sssds-md.md)]

6 = [!INCLUDE [ssazuresynapse-md](../../includes/ssazuresynapse-md.md)]

8 = [!INCLUDE [ssazuremi](../../includes/ssazuremi-md.md)]

9 = Azure SQL Edge (For all editions of Azure SQL Edge)

11 = Azure Synapse serverless SQL pool

Base data type: **int** | | `FilestreamConfiguredLevel` | The configured level of FILESTREAM access. For more information, see [filestream access level](../../database-engine/configure-windows/filestream-access-level-server-configuration-option.md).

0 = FILESTREAM is disabled

1 = FILESTREAM is enabled for Transact-SQL access

2 = FILESTREAM is enabled for Transact-SQL and local Win32 streaming access

3 = FILESTREAM is enabled for Transact-SQL and both local and remote Win32 streaming access

Base data type: **int** | | `FilestreamEffectiveLevel` | The effective level of FILESTREAM access. This value can be different than the FilestreamConfiguredLevel if the level has changed and either an instance restart or a computer restart is pending. For more information, see [filestream access level](../../database-engine/configure-windows/filestream-access-level-server-configuration-option.md).

0 = FILESTREAM is disabled

1 = FILESTREAM is enabled for Transact-SQL access

2 = FILESTREAM is enabled for Transact-SQL and local Win32 streaming access

3 = FILESTREAM is enabled for Transact-SQL and both local and remote Win32 streaming access

Base data type: **int** | | `FilestreamShareName` | The name of the share used by FILESTREAM.

NULL = Input isn't valid, an error, or not applicable.

Base data type: **nvarchar(128)** | | `HadrManagerStatus` | **Applies to**: [!INCLUDE [ssSQL11](../../includes/sssql11-md.md)] and later.

Indicates whether the [!INCLUDE [ssHADR](../../includes/sshadr-md.md)] manager has started.

0 = Not started, pending communication.

1 = Started and running.

2 = Not started and failed.

NULL = Input isn't valid, an error, or not applicable.

Base data type: **int** | | `InstanceDefaultBackupPath` | **Applies to**: [!INCLUDE [ssSQL2019](../../includes/sssql19-md.md)] and later.

Name of the default path to the instance backup files. | | `InstanceDefaultDataPath` | **Applies to**: [!INCLUDE [ssSQL11](../../includes/sssql11-md.md)] through current version in updates beginning in late 2015.

Name of the default path to the instance data files.

Base data type: **nvarchar(128)** | | `InstanceDefaultLogPath` | **Applies to**: [!INCLUDE [ssSQL11](../../includes/sssql11-md.md)] through current version in updates beginning in late 2015.

Name of the default path to the instance log files.

Base data type: **nvarchar(128)** | | `InstanceName` | Name of the instance to which the user is connected.

Returns NULL if the instance name is the default instance, if the input isn't valid, or error.

NULL = Input isn't valid, an error, or not applicable.

Base data type: **nvarchar(128)** | | `IsAdvancedAnalyticsInstalled` | Returns 1 if the Advanced Analytics feature was installed during setup; 0 if Advanced Analytics wasn't installed.

Base data type: **int** | | `IsBigDataCluster` | Introduced in [!INCLUDE [ssSQL2019](../../includes/sssql19-md.md)] beginning with CU 4.

Returns 1 if the instance is [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] Big Data Cluster; 0 if not.

Base data type: **int** | | `IsClustered` | Server instance is configured in a failover cluster.

1 = Clustered.

0 = Not Clustered.

NULL = Input isn't valid, an error, or not applicable.

Base data type: **int** | | `IsExternalAuthenticationOnly` | **Applies to**: Azure SQL Database and Azure SQL Managed Instance.

Returns whether [Microsoft Entra-only authentication](/azure/azure-sql/database/authentication-azure-ad-only-authentication) is enabled.

1 = Microsoft Entra-only authentication is enabled.

0 = Microsoft Entra-only authentication is disabled.

Base data type: **int** | | `IsExternalGovernanceEnabled` | **Applies to**: [!INCLUDE [sql-server-2022](../../includes/sssql22-md.md)] and later.

Returns whether [Microsoft Purview access policies](/azure/purview/how-to-policies-data-owner-arc-sql-server) are enabled.

1 = External governance is enabled.

0 = External governance is disabled.

Base data type: **int** | | `IsFullTextInstalled` | The full-text and semantic indexing components are installed on the current instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)].

1 = Full-text and semantic indexing components are installed.

0 = Full-text and semantic indexing components aren't installed.

NULL = Input isn't valid, an error, or not applicable.

Base data type: **int** | | `IsHadrEnabled` | **Applies to**: [!INCLUDE [ssSQL11](../../includes/sssql11-md.md)] and later.

[!INCLUDE [ssHADR](../../includes/sshadr-md.md)] is enabled on this server instance.

0 = The [!INCLUDE [ssHADR](../../includes/sshadr-md.md)] feature is disabled.

1 = The [!INCLUDE [ssHADR](../../includes/sshadr-md.md)] feature is enabled.

NULL = Input isn't valid, an error, or not applicable.

Base data type: **int**

For availability replicas to be created and run on an instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)], [!INCLUDE [ssHADR](../../includes/sshadr-md.md)] must be enabled on the server instance. For more information, see [Enable and Disable Always On Availability Groups (SQL Server)](../../database-engine/availability-groups/windows/enable-and-disable-always-on-availability-groups-sql-server.md).

**Note:** The IsHadrEnabled property pertains only to [!INCLUDE [ssHADR](../../includes/sshadr-md.md)]. Other high availability or disaster recovery features, such as database mirroring or log shipping, are unaffected by this server property. | | `IsIntegratedSecurityOnly` | Server is in integrated security mode.

1 = Integrated security (Windows Authentication)

0 = Not integrated security. (Both Windows Authentication and [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] Authentication.)

NULL = Input isn't valid, an error, or not applicable.

Base data type: **int** | | `IsLocalDB` | **Applies to**: [!INCLUDE [ssSQL11](../../includes/sssql11-md.md)] and later.

Server is an instance of [!INCLUDE [ssExpress](../../includes/ssexpress-md.md)] LocalDB.

NULL = Input isn't valid, an error, or not applicable.

Base data type: **int** | | `IsPolyBaseInstalled` | **Applies to**: [!INCLUDE [ssSQL2016](../../includes/sssql16-md.md)].

Returns whether the server instance has the PolyBase feature installed.

0 = PolyBase isn't installed.

1 = PolyBase is installed.

Base data type: **int** | | `IsServerSuspendedForSnapshotBackup` | Server is in suspend mode and requires server level thaw.

1 = Suspended.

0 = Not suspended

Base data type: **int** | | `IsSingleUser` | Server is in single-user mode.

1 = Single user.

0 = Not single user

NULL = Input isn't valid, an error, or not applicable.

Base data type: **int** | | `IsTempDbMetadataMemoryOptimized` | **Applies to**: [!INCLUDE [ssSQL2019](../../includes/sssql19-md.md)] and later.

Returns 1 if `tempdb` has been enabled to use memory-optimized tables for metadata; 0 if `tempdb` is using regular, disk-based tables for metadata. For more information, see [tempdb Database](../../relational-databases/databases/tempdb-database.md#memory-optimized-tempdb-metadata).

Base data type: **int** | | `IsXTPSupported` | **Applies to**: SQL Server ([!INCLUDE [ssSQL14](../../includes/sssql14-md.md)] and later), [!INCLUDE [ssSDS](../../includes/sssds-md.md)].

Server supports In-Memory OLTP.

1 = Server supports In-Memory OLTP.

0 = Server doesn't supports In-Memory OLTP.

NULL = Input isn't valid, an error, or not applicable.

Base data type: **int** | | `LCID` | Windows locale identifier (LCID) of the collation.

Base data type: **int** | | `LicenseType` | Unused. License information isn't preserved or maintained by the [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] product. Always returns DISABLED.

Base data type: **nvarchar(128)** | | `MachineName` | Windows computer name on which the server instance is running.

For a clustered instance, an instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] running on a virtual server on Microsoft Cluster Service, it returns the name of the virtual server.

NULL = Input isn't valid, an error, or not applicable.

Base data type: **nvarchar(128)** | | `NumLicenses` | Unused. License information isn't preserved or maintained by the [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] product. Always returns NULL.

Base data type: **int** | | `PathSeparator` | **Applies to**: [!INCLUDE [ssSQL2017](../../includes/sssql17-md.md)] and later.

Returns `\` on Windows and `/` on Linux

Base data type: **nvarchar** | | `ProcessID` | Process ID of the [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] service. ProcessID is useful in identifying which Sqlservr.exe belongs to this instance.

NULL = Input isn't valid, an error, or not applicable.

Base data type: **int** | | `ProductBuild` | **Applies to**: [!INCLUDE [ssSQL14](../../includes/sssql14-md.md)] beginning October 2015.

The build number.

Base data type: **nvarchar(128)** | | `ProductBuildType` | **Applies to**: [!INCLUDE [ssSQL11](../../includes/sssql11-md.md)] through current version in updates beginning in late 2015.

Type of build of the current build.

Returns one of the following values:

OD = On Demand release a specific customer.

GDR = General Distribution Release released through Windows Update.

NULL = Not applicable.

Base data type: **nvarchar(128)** | | `ProductLevel` | Level of the version of the instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)].

Returns one of the following values:

'RTM' = Original release version

'SP*n*' = Service pack version

'CTP*n*', = Community Technology Preview version

Base data type: **nvarchar(128)** | | `ProductMajorVersion` | **Applies to**: [!INCLUDE [ssSQL11](../../includes/sssql11-md.md)] through current version in updates beginning in late 2015.

The major version.

Base data type: **nvarchar(128)** | | `ProductMinorVersion` | **Applies to**: [!INCLUDE [ssSQL11](../../includes/sssql11-md.md)] through current version in updates beginning in late 2015.

The minor version.

Base data type: **nvarchar(128)** | | `ProductUpdateLevel` | **Applies to**: [!INCLUDE [ssSQL11](../../includes/sssql11-md.md)] through current version in updates beginning in late 2015 and Azure SQL Managed Instance.

Update level of the current build. CU indicates a cumulative update.

Returns one of the following values:

CU*n* = Cumulative Update

NULL = Not applicable.

Base data type: **nvarchar(128)** | | `ProductUpdateReference` | **Applies to**: [!INCLUDE [ssSQL11](../../includes/sssql11-md.md)] through current version in updates beginning in late 2015.

KB article for that release.

Base data type: **nvarchar(128)** | | `ProductUpdateType` | **Applies to**: Azure SQL Managed Instance

Update cadence the instance follows. Corresponds to the Azure SQL Managed Instance [update policy](/azure/azure-sql/managed-instance/update-policy).

Returns one of the following values:

CU = Updates are deployed via cumulative updates (CUs) for the corresponding major SQL Server release (**SQL Server 2022** update policy).

Continuous = New features are brought to Azure SQL Managed Instance as soon as they are available, independent of the SQL Server release cadence (**Always-up-to-date** update policy).

Base data type: **nvarchar(128)** | | `ProductVersion` | Version of the instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)], in the form of *major.minor.build.revision*.

Base data type: **nvarchar(128)** | | `ResourceLastUpdateDateTime` | Returns the date and time that the Resource database was last updated.

Base data type: **datetime** | | `ResourceVersion` | Returns the version Resource database.

Base data type: **nvarchar(128)** | | `ServerName` | Both the Windows server and instance information associated with a specified instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)].

NULL = Input isn't valid, or an error.

Base data type: **nvarchar(128)** | | `SqlCharSet` | The SQL character set ID from the collation ID.

Base data type: **tinyint** | | `SqlCharSetName` | The SQL character set name from the collation.

Base data type: **nvarchar(128)** | | `SqlSortOrder` | The SQL sort order ID from the collation

Base data type: **tinyint** | | `SqlSortOrderName` | The SQL sort order name from the collation.

Base data type: **nvarchar(128)** | | `SuspendedDatabaseCount` | The number of suspended databases on the server.

Base data type: **int** | ## Return types **sql_variant** ## Remarks ### ServerName property The `ServerName` property of the `SERVERPROPERTY` function and [@@SERVERNAME](../../t-sql/functions/servername-transact-sql.md) return similar information. The `ServerName` property provides the Windows server and instance name that together make up the unique server instance. [@@SERVERNAME](../../t-sql/functions/servername-transact-sql.md) provides the currently configured local server name. The `ServerName` property and [@@SERVERNAME](../../t-sql/functions/servername-transact-sql.md) return the same information if the default server name, at the time of installation, hasn't been changed. The local server name can be configured by executing the following: ```sql EXEC sp_dropserver 'current_server_name'; GO EXEC sp_addserver 'new_server_name', 'local'; GO ``` If the local server name has been changed from the default server name at installation time, [@@SERVERNAME](../../t-sql/functions/servername-transact-sql.md) returns the new name. The `ServerName` property of the `SERVERPROPERTY` function returns the Windows server name as it's saved. In previous major versions it returned uppercase. This behavior changed back to uppercase between [!INCLUDE [sssql19-md](../../includes/sssql19-md.md)] CU 9 and CU 12, but starting from [!INCLUDE [sssql19-md](../../includes/sssql19-md.md)] CU 13, the server name returns as it's saved. If the Windows server name contains any lowercase characters, this change of behavior may cause differences between the `ServerName` property of the `SERVERPROPERTY` function, and [@@SERVERNAME](../../t-sql/functions/servername-transact-sql.md) (uppercase versus lowercase), even if there's no name change for the server. Consider you have a server named as `server01`, with a [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] instance named `INST1`. The following table summarizes the change of behavior between different builds of [!INCLUDE [sssql19-md](../../includes/sssql19-md.md)]: | [!INCLUDE [sssql19-md](../../includes/sssql19-md.md)] release | SERVERPROPERTY('ServerName') | Additional information | | --- | --- | --- | | RTM | `SERVER01\INST1` | Returns the `ServerName` property in uppercase | | CU 1 – CU 8 | `server01\INST1` | Returns the `ServerName` property as is, without changing to uppercase | | CU 9 – CU 12 | `SERVER01\INST1` | Returns the `ServerName` property in uppercase | | CU 13 and later versions | `server01\INST1` | Returns the `ServerName` property as-is, without changing to uppercase | ### Version properties The `SERVERPROPERTY` function returns individual properties that relate to the version information whereas the [@@VERSION](../../t-sql/functions/version-transact-sql-configuration-functions.md) function combines the output into one string. If your application requires individual property strings, you can use the `SERVERPROPERTY` function to return them instead of parsing the [@@VERSION](../../t-sql/functions/version-transact-sql-configuration-functions.md) results. ## Permissions All users can query the server properties. ## Examples The following example uses the `SERVERPROPERTY` function in a `SELECT` statement to return information about the current instance of [!INCLUDE [ssNoVersion_md](../../includes/ssnoversion-md.md)]. ```sql SELECT SERVERPROPERTY('MachineName') AS ComputerName, SERVERPROPERTY('ServerName') AS InstanceName, SERVERPROPERTY('Edition') AS Edition, SERVERPROPERTY('ProductVersion') AS ProductVersion, SERVERPROPERTY('ProductLevel') AS ProductLevel; GO ``` ## Related content [!INCLUDE [editions-supported-features-windows](../../includes/editions-supported-features-windows.md)]