参考官网:
语法
SERVERPROPERTY ( 'propertyname' )
重要
SQL Server 和 Azure SQL 数据库的数据库引擎版本号之间没有可比性,它们分别是这两项产品的内部版本号。 适用于 Azure SQL 数据库的数据库引擎与 SQL Server 数据库引擎基于相同的代码基础映像。 最重要的是,Azure SQL 数据库中的数据库引擎始终具有 SQL 数据库引擎的最新功能。 Azure SQL 数据库版本 12 比 SQL Server 版本 15 更新。
参数
propertyname
一个表达式,包含要为服务器返回的属性信息。 propertyname 可以是下列值之一 。
properties | 返回的值 |
---|---|
BuildClrVersion | 在生成 SQL Server 实例时使用的 Microsoft.NET Framework 公共语言运行时 (CLR) 的版本。 NULL = 输入无效,出现错误或不适用。 基本数据类型:nvarchar(128) |
排序规则 | 服务器的默认排序规则名称。 NULL = 输入无效或错误。 基本数据类型:nvarchar(128) |
CollationID | SQL Server 排序规则的 ID。 基本数据类型:int |
ComparisonStyle | 排序规则的 Windows 比较样式。 基本数据类型:int |
ComputerNamePhysicalNetBIOS | 当前运行 SQL Server 实例的本地计算机的 NetBIOS 名称。 对于故障转移群集上的 SQL Server 群集实例,当 SQL Server 实例故障转移到故障转移群集中的其他节点时,该值将更改。 在 SQL Server 的独立实例上,该值保持不变,并返回与 MachineName 属性相同的值。 注意: 如果 SQL Server 实例位于故障转移群集中,并且您要获取故障转移群集实例的名称,请使用 MachineName 属性。 NULL = 输入无效,出现错误或不适用。 基本数据类型:nvarchar(128) |
版本 | 所安装的 SQL Server 实例的产品版本。 使用该属性的值确定功能和限制,例如按 SQL Server 版本划分的计算能力限制。 64 位版本的数据库引擎向此版本追加(64 位)。 返回: “Enterprise Edition” “Enterprise Edition:基于内核的许可” “Enterprise Evaluation Edition” “Business Intelligence Edition” “Developer Edition” “Express Edition” “Express Edition with Advanced Services” “Standard Edition” “Web Edition” “SQL Azure”表示 SQL 数据库 或 Microsoft Azure Synapse Analytics(以前称为“SQL 数据仓库”) 基本数据类型:nvarchar(128) |
EditionID | EditionID 表示 SQL Server 实例的已安装产品版本。 使用该属性的值确定功能和限制,例如按 SQL Server 版本划分的计算能力限制。 1804890536 = Enterprise 1872460670 = Enterprise Edition:基于内核的许可 610778273= Enterprise Evaluation 284895786 = Business Intelligence -2117995310 = Developer -1592396055 = Express -133711905= Express with Advanced Services -1534726760 = Standard 1293598313 = Web 1674378470 = SQL 数据库或 Microsoft Azure Synapse Analytics(以前称为“SQL 数据仓库”) 基本数据类型:bigint |
EngineEdition | 服务器上安装的 数据库引擎 实例的SQL Server版本。 1 = Personal 或 Desktop Engine(不适用于 SQL Server 2005 (9.x) 和更高版本。) 2 = Standard(对 Standard、Web 和 Business Intelligence 返回该值。) 3 = Enterprise(对 Enterprise、Developer 以及 Enterprise 版本返回该值。) 4 = Express(对 Express、Express with Tools 和 Express with Advanced Services 返回该值) 5 = SQL 数据库 6 = Microsoft Azure Synapse Analytics(以前称为“SQL 数据仓库”) 8 = 托管实例 基本数据类型:int |
HadrManagerStatus | 适用于:SQL Server 2012 (11.x) 及更高版本。 指示 Always On 可用性组管理器是否已启动。 0 = 未启动,通信挂起。 1 = 已启动,正在运行。 2 = 未启动,已失败。 NULL = 输入无效,出现错误或不适用。 |
InstanceDefaultDataPath | 适用范围:SQL Server 2012 (11.x) 到当前版本 2015 年底开始的更新 。 实例数据文件的默认路径的名称。 |
InstanceDefaultLogPath | 适用范围:SQL Server 2012 (11.x) 到当前版本 2015 年底开始的更新 。 实例日志文件的默认路径的名称。 |
InstanceName | 用户连接到的实例的名称。 如果实例名称是默认实例,或者输入无效或发生错误,则返回 NULL。 NULL = 输入无效,出现错误或不适用。 基本数据类型:nvarchar(128) |
IsAdvancedAnalyticsInstalled | 如果安装期间安装了高级分析功能,则返回 1;如果未安装,则返回 0。 |
IsBigDataCluster | 从 CU4 开始在 SQL Server 2019 (15.x) 中引入。 如果实例为 SQL Server 大数据群集,则返回 1;如果不是,则为 0。 |
IsClustered | 服务器实例已配置在故障转移群集中。 1 = 群集。 0 = 非群集。 NULL = 输入无效,出现错误或不适用。 基本数据类型:int |
IsFullTextInstalled | 全文和语义索引组件安装在 SQL Server 的当前实例上。 1 = 已安装全文和语义索引组件。 0 = 未安装全文和语义索引组件。 NULL = 输入无效,出现错误或不适用。 基本数据类型:int |
IsHadrEnabled | 适用于:SQL Server 2012 (11.x) 及更高版本。 在此服务器实例上启用 Always On 可用性组。 0 = Always On 可用性组 功能已禁用。 1 = Always On 可用性组 功能已启用。 NULL = 输入无效,出现错误或不适用。 基本数据类型:int 要创建可用性副本并使该副本在 SQL Server 实例上运行,必须在该服务器实例上启用 Always On 可用性组。 有关详细信息,请参阅启用和禁用 AlwaysOn 可用性组 (SQL Server)。 注意: IsHadrEnabled 属性仅与 Always On 可用性组 相关。 其他高可用性或灾难恢复功能(如数据库镜像或日志传送)都不受此服务器属性影响。 |
IsIntegratedSecurityOnly | 服务器处于集成安全性模式下。 1 = 集成安全性(Windows 身份验证) 0 = 非集成安全性。 (Windows 身份验证和 SQL Server 身份验证。) NULL = 输入无效,出现错误或不适用。 基本数据类型:int |
IsLocalDB | 适用于:SQL Server 2012 (11.x) 及更高版本。 服务器是 SQL Server Express LocalDB 的实例。 NULL = 输入无效,出现错误或不适用。 |
IsPolyBaseInstalled | 适用于: SQL Server 2019 (15.x)。 返回服务器实例是否安装了 PolyBase 功能的结果。 0 = 未安装 PolyBase。 1 = 安装了 PolyBase。 基本数据类型:int |
IsSingleUser | 服务器处于单用户模式下。 1 = 单个用户。 0 = 非单个用户 NULL = 输入无效,出现错误或不适用。 基本数据类型:int |
IsXTPSupported | 适用对象:SQL Server(SQL Server 2014 (12.x) 及更高版本)、SQL 数据库。 服务器支持内存中 OLTP。 1= 服务器支持内存中 OLTP。 0= 服务器不支持内存中 OLTP。 NULL = 输入无效,出现错误或不适用。 基本数据类型:int |
LCID | 排序规则的 Windows 区域设置标识符 (LCID)。 基本数据类型:int |
LicenseType | 未使用。 许可证信息不由 SQL Server 产品保留或维护。 始终返回 DISABLED。 基本数据类型:nvarchar(128) |
MachineName | 运行服务器实例的 Windows 计算机名称。 对于群集实例,即在 Microsoft 群集服务的虚拟服务器上运行的 SQL Server 实例,返回虚拟服务器的名称。 NULL = 输入无效,出现错误或不适用。 基本数据类型:nvarchar(128) |
NumLicenses | 未使用。 许可证信息不由 SQL Server 产品保留或维护。 始终返回 NULL。 基本数据类型:int |
ProcessID | SQL Server 服务的进程 ID。 ProcessID 对于标识属于该实例的 Sqlservr.exe 很有用。 NULL = 输入无效,出现错误或不适用。 基本数据类型:int |
ProductBuild | 适用范围:2015 年 10 月开始的 SQL Server 2014 (12.x) 。 生成号。 |
ProductBuildType | 适用范围:SQL Server 2012 (11.x) 到当前版本 2015 年底开始的更新 。 当前版本的版本类型。 返回下列项之一: OD = 特定客户按需版本。 GDR = 通过 Windows 更新发布的常规分发版本。 Null = 不适用。 |
ProductLevel | SQL Server 实例的版本级别。 返回下列项之一: “RTM”= 原始发布版本 “SPn”= 服务包版本 “CTPn”= 社区技术预览版版本 基本数据类型:nvarchar(128) |
ProductMajorVersion | 适用范围:SQL Server 2012 (11.x) 到当前版本 2015 年底开始的更新 。 主版本。 |
ProductMinorVersion | 适用范围:SQL Server 2012 (11.x) 到当前版本 2015 年底开始的更新 。 次版本。 |
ProductUpdateLevel | 适用范围:SQL Server 2012 (11.x) 到当前版本 2015 年底开始的更新 。 当前版本的更新级别。 CU 表示累积更新。 返回下列项之一: CUn = 累积更新 Null = 不适用。 |
ProductUpdateReference | 适用范围:SQL Server 2012 (11.x) 到当前版本 2015 年底开始的更新 。 该版本的知识库文章。 |
ProductVersion | 实例 SQL Server 的版本,格式为“major.minor.build.revision” 。 基本数据类型:nvarchar(128) |
ResourceLastUpdateDateTime | 返回资源数据库上次更新的日期和时间。 基本数据类型:datetime |
ResourceVersion | 返回版本资源数据库。 基本数据类型:nvarchar(128) |
ServerName | Windows 服务器和与指定的 SQL Server 实例关联的实例信息。 NULL = 输入无效或错误。 基本数据类型:nvarchar(128) |
SqlCharSet | 排序规则 ID 中的 SQL 字符集 ID。 基本数据类型:tinyint |
SqlCharSetName | 来自排序规则的 SQL 字符集名称。 基本数据类型:nvarchar(128) |
SqlSortOrder | 排序规则中的 SQL 排序顺序 ID 基本数据类型:tinyint |
SqlSortOrderName | 来自排序规则的 SQL 排序顺序名称。 基本数据类型:nvarchar(128) |
FilestreamShareName | FILESTREAM 使用的共享的名称。 NULL = 输入无效,出现错误或不适用。 |
FilestreamConfiguredLevel | FILESTREAM 访问的配置级别。 有关详细信息,请参阅文件流访问级别。 |
FilestreamEffectiveLevel | FILESTREAM 访问的有效级别。 如果级别已更改,并且实例重新启动或计算机重新启动处于挂起状态,则该值可以不同于 FilestreamConfiguredLevel。 有关详细信息,请参阅文件流访问级别。 |
返回类型
sql_variant
备注
ServerName 属性
SERVERPROPERTY
函数的 ServerName
属性和 @@SERVERNAME 返回相似的信息。 ServerName
属性提供 Windows 服务器和实例名称,两者共同构成唯一的服务器实例。 @@SERVERNAME 提供当前配置的本地服务器名称。
如果安装时未更改默认服务器名称,则 ServerName
属性和 @@SERVERNAME 返回相同的信息。 可以通过执行以下过程配置本地服务器的名称:
SQL
EXEC sp_dropserver 'current_server_name';
GO
EXEC sp_addserver 'new_server_name', 'local';
GO
如果在安装时已将本地服务器名称从默认服务器名称更改为其他名称,则 @@SERVERNAME 返回更改后的新名称。
版本属性
SERVERPROPERTY
函数返回与版本信息有关的各个属性,而 @@VERSION 函数将输出合并为一个字符串。 如果应用程序需要各个属性字符串,则可以使用 SERVERPROPERTY
函数返回它们,而不是分析 @@VERSION 结果。
权限
所有用户都可以查询服务器属性。
示例
下面的示例在 SELECT
语句中使用 SERVERPROPERTY
函数返回有关当前 SQL Server 实例的信息。
SQL
SELECT
SERVERPROPERTY('MachineName') AS ComputerName,
SERVERPROPERTY('ServerName') AS InstanceName,
SERVERPROPERTY('Edition') AS Edition,
SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('ProductLevel') AS ProductLevel;
GO