SERVERPROPERTY (Transact-SQL)

返回有关服务器实例的属性信息。

主题链接图标 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

请参阅

参考

SQL Server 2012 的版本和组件