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 实例的产品版本。使用该属性的值确定已安装的产品支持的功能和限制(如最大 CPU 数)。64 位版本的数据库引擎向此版本追加(64 位)。

    返回:

    “Desktop Engine”(对 SQL Server 不可用。)

    “Developer Edition”

    “Enterprise Edition”

    “Enterprise Evaluation Edition”

    “Personal Edition”(对 SQL Server 不可用。)

    “Standard Edition”

    “Express Edition”

    “Express Edition with Advanced Services”

    “Workgroup Edition”

    “Windows Embedded SQL”

    基本数据类型:nvarchar(128)

    EditionID

    标识号,表示已安装的 SQL Server 实例的产品版本。使用该属性的值可以确定已安装的产品所支持的功能和限制(如最大 CPU 数)。

    -1253826760 = Desktop

    -1592396055 = Express

    -1534726760 = Standard

    1333529388 = Workgroup

    1804890536 = Enterprise

    -323382091 = Personal

    -2117995310 = Developer

    610778273 = Enterprise Evaluation

    1044790755 = Windows Embedded SQL

    4161255391 = Express with Advanced Services

    基本数据类型:int

    EngineEdition

    服务器上安装的 SQL Server 实例的数据库引擎版本。

    1 = Personal 或 Desktop Engine(对 SQL Server 不可用。)

    2 = Standard(对 Standard 和 Workgroup 返回该值。)

    3 = Enterprise(对 Enterprise、Enterprise Evaluation 和 Developer 返回该值。)

    4 = Express(对 Express、Express with Advanced Services 和 Windows Embedded SQL 返回该值。)

    基本数据类型:int

    InstanceName

    用户连接到的实例的名称。

    如果实例名称是默认实例,或者输入无效或发生错误,则返回 NULL。

    基本数据类型:nvarchar(128)

    IsClustered

    在故障转移群集中配置服务器实例。

    1 = 群集。

    0 = 非群集。

    NULL = 输入无效或错误。

    基本数据类型:int

    IsFullTextInstalled

    在 SQL Server 的当前实例中安装全文组件。

    1 = 已安装全文组件。

    0 = 未安装全文组件。

    NULL = 输入无效或错误。

    基本数据类型:int

    IsIntegratedSecurityOnly

    服务器处于集成安全性模式下。

    1 = 集成安全性。

    0 = 非集成安全性。

    NULL = 输入无效或错误。

    基本数据类型:int

    IsSingleUser

    服务器处于单用户模式下。

    1 = 单个用户。

    0 = 非单个用户

    NULL = 输入无效或错误。

    基本数据类型:int

    LCID

    排序规则的 Windows 区域设置标识符 (LCID)。

    基本数据类型:int

    LicenseType

    此 SQL Server 实例的模式。

    PER_SEAT = 每客户模式

    PER_PROCESSOR = 每处理器模式

    DISABLED = 禁用授权。

    基本数据类型:nvarchar(128)

    MachineName

    运行服务器实例的 Windows 计算机名称。

    对于群集实例,即在 Microsoft 群集服务的虚拟服务器上运行的 SQL Server 实例,返回虚拟服务器的名称。

    NULL = 输入无效或错误。

    基本数据类型:nvarchar(128)

    NumLicenses

    如果处于每客户模式下,则为该 SQL Server 实例的注册客户端许可数。

    如果处于每处理器模式下,则为该 SQL Server 实例的许可处理器数。

    如果服务器不是上述模式,则返回 NULL。

    基本数据类型:int

    ProcessID

    SQL Server 服务的进程 ID。ProcessID 对于标识属于该实例的 Sqlservr.exe 很有用。

    NULL = 输入无效或出现错误。

    基本数据类型:int

    ProductVersion

    SQL Server 实例的版本,格式为“major.minor.build”。

    基本数据类型: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