(4.44)sql server中的serverproperty

参考官网:

https://docs.microsoft.com/zh-cn/sql/t-sql/functions/serverproperty-transact-sql?view=sql-server-2016

语法

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  
posted @ 2020-06-29 10:08  郭大侠1  阅读(589)  评论(0编辑  收藏  举报