SERVERPROPERTY (Transact-SQL)
返回有关服务器实例的属性信息。
语法
SERVERPROPERTY ( propertyname )
参数
propertyname
一个表达式,包含要为服务器返回的属性信息。 propertyname 可以是下列值之一。属性
返回值
BuildClrVersion
在生成 SQL Server 实例时使用的 Microsoft .NET Framework 公共语言运行时 (CLR) 的版本。
基本数据类型:nvarchar(128)
Collation
服务器的默认排序规则名称。
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)
Edition
所安装的 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”
基本数据类型: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
基本数据类型:bigint
EngineEdition
服务器上安装的 SQL Server 实例的数据库引擎版本。
1 = Personal 或 Desktop Engine(不适用于 SQL Server 2005 和更高版本。)
2 = Standard(对 Standard、Web 和 Business Intelligence 返回该值。)
3 = Enterprise(对 Enterprise、Developer 以及两个 Enterprise 版本返回该值。)
4 = Express(对 Express、Express with Tools 和 Express with Advanced Services 返回该值)
5 = SQL Azure
基本数据类型:int
HadrManagerStatus
指示 AlwaysOn 可用性组管理器是否已启动。
0 = 未启动,通信挂起。
1 = 已启动,正在运行。
2 = 未启动,已失败。
InstanceName
用户连接到的实例的名称。
如果实例名称是默认实例,或者输入无效或发生错误,则返回 NULL。
基本数据类型:nvarchar(128)
IsClustered
在故障转移群集中配置服务器实例。
1 = 群集。
0 = 非群集。
NULL = 输入无效或错误。
基本数据类型:int
IsFullTextInstalled
全文和语义索引组件安装在 SQL Server 的当前实例上。
1 = 已安装全文和语义索引组件。
0 = 未安装全文和语义索引组件。
NULL = 输入无效或错误。
基本数据类型:int
IsHadrEnabled
在此服务器实例上启用 AlwaysOn 可用性组。
0 = AlwaysOn 可用性组 功能已禁用。
1 = AlwaysOn 可用性组 功能已启用。
基本数据类型:int
要创建可用性副本并使该副本在 SQL Server 实例上运行,必须在该服务器实例上启用 AlwaysOn 可用性组。 有关详细信息,请参阅启用和禁用 AlwaysOn 可用性组 (SQL Server)。
注意 IsHadrEnabled 属性仅与 AlwaysOn 可用性组 服务相关。 其他高可用性或灾难恢复功能(如数据库镜像或日志传送)都不受此服务器属性影响。
IsIntegratedSecurityOnly
服务器处于集成安全性模式下。
1 = 集成安全性(Windows 身份验证)
0 = 非集成安全性。 (Windows 身份验证和 SQL Server 身份验证。)
NULL = 输入无效或错误。
基本数据类型:int
IsLocalDB
服务器是 SQL Server Express LocalDB 的实例。
IsSingleUser
服务器处于单用户模式下。
1 = 单个用户。
0 = 非单个用户
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
ProductVersion
SQL Server 实例的版本,格式为“major.minor.build.revision”。
基本数据类型:nvarchar(128)
ProductLevel
SQL Server 实例的版本级别。
返回下列项之一:
“RTM”= 原始发布版本
“SPn”= Service pack 版本
“CTP”= Community Technology Preview 版本
基本数据类型: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 使用的共享的名称。
FilestreamConfiguredLevel
FILESTREAM 访问的配置级别。 有关详细信息,请参阅文件流访问级别。
FilestreamEffectiveLevel
FILESTREAM 访问的有效级别。 如果级别已更改,并且实例重新启动或计算机重新启动处于挂起状态,则该值可以不同于 FilestreamConfiguredLevel。 有关详细信息,请参阅文件流访问级别。
返回类型
sql_variant
注释
ServerName 属性
SERVERPROPERTY 函数的 ServerName 属性与 @@SERVERNAME 返回相似的信息。 ServerName 属性提供 Windows 服务器和实例名称,两者共同构成唯一的服务器实例。 @@SERVERNAME 提供当前配置的本地服务器名称。
如果安装时未更改默认服务器名称,则 ServerName 属性和 @@SERVERNAME 返回相同的信息。 可以通过执行以下过程配置本地服务器的名称:
EXEC sp_dropserver 'current_server_name';
GO
EXEC sp_addserver 'new_server_name', 'local';
GO
如果本地服务器名称已更改为与安装时的默认服务器名称不同的名称,则 @@SERVERNAME 将返回此新名称。
版本属性
SERVERPROPERTY 函数返回与版本信息有关的各个属性,而 @@VERSION 函数则将输出合并为一个字符串。 如果您的应用程序需要各个单独的属性字符串,则您可以使用 SERVERPROPERTY 函数返回它们,而不是分析 @@VERSION 结果。
示例
下面的示例在 SELECT 语句中使用 SERVERPROPERTY 函数返回有关当前服务器的信息。 如果 Windows 服务器安装了多个 SQL Server 实例,而且客户端必须打开另一个到当前连接所使用的同一实例连接,则此方案很有用。
SELECT CONVERT(sysname, SERVERPROPERTY('servername'));
GO
以下示例在 SELECT 语句中使用 SERVERPROPERTY 函数返回有关产品的版本信息。
SELECT
SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('ProductLevel') AS ProductLevel,
SERVERPROPERTY('Edition') AS Edition,
SERVERPROPERTY('EngineEdition') AS EngineEdition;
GO