適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控實例
Azure Synapse Analytics
分析平台系統 (PDW)
Microsoft Fabric 中的 SQL 分析端點
Microsoft Fabric 中的倉儲
Microsoft Fabric 中的 SQL 資料庫
傳回有關伺服器執行個體的屬性資訊。
注意
Microsoft Entra ID 先前稱為 Azure Active Directory (Azure AD)。
語法
SERVERPROPERTY ( 'propertyname' )
重要
SQL Server 和 Azure SQL Database 和 Microsoft Fabric 的資料庫引擎版本號碼彼此不相提並論,並代表這些個別產品的內部組建編號。 Azure SQL Database 資料庫引擎是以和 SQL Server 資料庫引擎相同的程式碼基底作為基礎。 最重要的是,Azure SQL Database 資料庫引擎一律具有最新的 SQL 資料庫引擎位元。 例如,Azure SQL 資料庫版本 12 比 SQL Server 版本 16 更新。
引數
propertyname
包含要傳回伺服器之屬性資訊的運算式。
propertyname 可以是下列值之一。 使用該資料庫引擎版本上無效或不支援的 propertyname 將會傳回 NULL
。
屬性 | 傳回的值 |
---|---|
BuildClrVersion |
建置 SQL Server 執行個體時所用的 Microsoft .NET Framework Common Language Runtime (CLR) 版本。NULL = 輸入無效、錯誤或不適用。基底資料型別:nvarchar(128) |
Collation |
伺服器預設定序的名稱。NULL = 輸入無效,或錯誤。基底資料型別:nvarchar(128) |
CollationID |
SQL Server 定序的識別碼。 基底資料類型: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 版:核心授權」 'Enterprise Evaluation Edition' 'Business Intelligence Edition' 'Developer Edition' 'Express Edition' 「具有進階服務的 Express Edition」 'Standard Edition' 'Web Edition' 'SQL Azure' 指出 SQL Database 或 Azure Synapse Analytics 或 Microsoft Fabric 'Azure SQL Edge Developer' 表示 Azure SQL Edge 的僅限開發版本 'Azure SQL Edge' 表示 Azure SQL Edge 的付費版本 基底資料型別:nvarchar(128) |
EditionID |
EditionID 表示安裝的 SQL Server 執行個體產品版本。 使用這個屬性值決定功能和限制,例如根據 SQL Server 版本計算容量限制。 1804890536 = Enterprise 1872460670 = Enterprise Edition:核心授權 610778273 = 企業評估 284895786 = 商業智慧 -2117995310 = 開發人員 -1592396055 = Express -133711905 = Express with Advanced Services -1534726760 = Standard 1293598313 = Web 1674378470 = SQL Database 或 Azure Synapse Analytics -1461570097 = Azure SQL Edge 開發人員 1994083197 = Azure SQL Edge 基底資料型別:bigint |
EngineEdition |
伺服器上所安裝 SQL Server 執行個體的資料庫引擎版本。 1 = Personal 或 Desktop Engine (不適用於 SQL Server 2005 (9.x) 和更新版本中。) 2 = Standard (適用於 Standard、Web 和 Business Intelligence。) 3 = Enterprise (適用於 Evaluation、Developer 和 Enterprise 版本。) 4 = Express (適用於 Express、Express with Tools 和 Express with Advanced Services) 5 = SQL Database 6 = Azure Synapse Analytics 8 = Azure SQL 受控執行個體 9 = Azure SQL Edge (適用於 Azure SQL Edge 的所有版本) 11 = Azure Synapse 無伺服器 SQL 集區或 Microsoft Fabric 12 = Microsoft Fabric SQL 分析端點 基底資料類型:int |
FilestreamConfiguredLevel |
已設定的 FILESTREAM 存取層級。 如需詳細資訊,請參閱檔案資料流存取層級。 0 = 已停用 FILESTREAM 1 = 已對 Transact-SQL 存取啟用 FILESTREAM 2 = 已為 Transact-SQL 和本機 Win32 串流存取啟用 FILESTREAM 3 = 已為 Transact-SQL 和本機與遠端 Win32 串流存取啟用 FILESTREAM 基底資料類型:int |
FilestreamEffectiveLevel |
有效的 FILESTREAM 存取層級。 如果此層級已變更而且執行個體重新啟動或電腦重新啟動已暫止,這個值就可能會與 FilestreamConfiguredLevel 不同。 如需詳細資訊,請參閱檔案資料流存取層級。 0 = 已停用 FILESTREAM 1 = 已對 Transact-SQL 存取啟用 FILESTREAM 2 = 已為 Transact-SQL 和本機 Win32 串流存取啟用 FILESTREAM 3 = 已為 Transact-SQL 和本機與遠端 Win32 串流存取啟用 FILESTREAM 基底資料類型:int |
FilestreamShareName |
FILESTREAM 所使用之共用的名稱。NULL = 輸入無效、錯誤或不適用。基底資料型別:nvarchar(128) |
HadrManagerStatus |
適用於:SQL Server 2012 (11.x) 和更新版本。 指出 Always On 可用性群組管理員是否已啟動。 0 = 未啟動,暫止通訊。 1 = 已啟動且在執行中。 2 = 未啟動且失敗。 NULL = 輸入無效、錯誤或不適用。基底資料類型:int |
InstanceDefaultBackupPath |
適用於:SQL Server 2019 (15.x) 和更新版本。 執行個體備份檔案的預設路徑名稱。 |
InstanceDefaultDataPath |
適用於:SQL Server 2012 (11.x) 至目前版本 (從 2015 晚期開始的更新)。 執行個體資料檔案的預設路徑名稱。 基底資料型別:nvarchar(128) |
InstanceDefaultLogPath |
適用於:SQL Server 2012 (11.x) 至目前版本 (從 2015 晚期開始的更新)。 執行個體記錄檔的預設路徑名稱。 基底資料型別:nvarchar(128) |
InstanceName |
使用者所連接之執行個體的名稱。NULL 如果實體名稱是預設實例,如果輸入無效或錯誤,則傳回 。NULL = 輸入無效、錯誤或不適用。基底資料型別:nvarchar(128) |
IsAdvancedAnalyticsInstalled |
若在設定時已安裝 [進階分析] 功能,則會傳回 1;否則會傳回 0。 基底資料類型:int |
IsBigDataCluster |
SQL Server 2019 (15.x) 從 CU 4 開始引進。 如果執行個體是 SQL Server 巨量資料叢集,則傳回 1;否則傳回 0。 基底資料類型:int |
IsClustered |
伺服器執行個體設定在容錯移轉叢集中。 1 = 叢集。 0 = 非叢集。 NULL = 輸入無效、錯誤或不適用。基底資料類型:int |
IsExternalAuthenticationOnly |
適用於:Azure SQL Database 與 Azure SQL 受控執行個體。 傳回是否已啟用僅限 Microsoft Entra 驗證。 1 = 已啟用僅限 Microsoft Entra 驗證。 0 = 已停用僅限 Microsoft Entra 驗證。 基底資料類型:int |
IsExternalGovernanceEnabled |
適用於:SQL Server 2022 (16.x) 和更新版本。 傳回是否啟用 Microsoft Purview 存取原則。 1 = 已啟用外部治理。 0 = 已停用外部治理。 基底資料類型: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 可用性群組。 如需詳細資訊,請參閱啟用和停用 Always On 可用性群組 (SQL Server)。 注意: 屬性 IsHadrEnabled 只與 Always On 可用性群組有關。 此伺服器屬性不影響其他高可用性或災害復原功能,例如資料庫鏡像或記錄傳送。 |
IsIntegratedSecurityOnly |
伺服器處於整合式安全性模式。 1 = 整合式安全性 (Windows 驗證) 0 = 非整合式安全性。 (Windows 驗證和 SQL Server 驗證。) NULL = 輸入無效、錯誤或不適用。基底資料類型:int |
IsLocalDB |
適用於:SQL Server 2012 (11.x) 和更新版本。 伺服器是 LocalDB SQL Server Express 執行個體。 NULL = 輸入無效、錯誤或不適用。基底資料類型:int |
IsPolyBaseInstalled |
適用於:SQL Server 2016 (13.x)。 傳回伺服器執行個體是否已安裝 PolyBase 功能。 0 = 未安裝 PolyBase。 1 = 已安裝 PolyBase。 基底資料類型:int |
IsServerSuspendedForSnapshotBackup |
伺服器處於暫止模式,且需要伺服器層級解除凍結。 1 = 已暫止。 0 = 未暫止 基底資料類型:int |
IsSingleUser |
伺服器處於單一使用者模式。 1 = 單一使用者。 0 = 非單一使用者 NULL = 輸入無效、錯誤或不適用。基底資料類型:int |
IsTempDbMetadataMemoryOptimized |
適用於:SQL Server 2019 (15.x) 和更新版本。 如果已啟用 tempdb 以為中繼資料使用經記憶體最佳化的資料表,則傳回 1;如果 tempdb 為中繼資料使用標準的磁碟型資料表,則傳回 0。 如需詳細資訊,請參閱 tempdb Database。基底資料類型:int |
IsXTPSupported |
適用於:SQL Server (SQL Server 2014 (12.x) 和更新版本)、SQL Database。 伺服器支援 In-Memory OLTP。 1 = 伺服器支援 In-Memory OLTP。 0 = 伺服器不支援 In-Memory OLTP。 NULL = 輸入無效、錯誤或不適用。基底資料類型:int |
LCID |
Windows 的定序地區設定識別碼 (LCID)。 基底資料類型:int |
LicenseType |
未使用的。 SQL Server 產品未保留或維護的授權資訊。 一律傳回 DISABLED。 基底資料型別:nvarchar(128) |
MachineName |
執行伺服器執行個體的 Windows 電腦名稱。 如果是叢集執行個體,也就是在 Microsoft Cluster Service 虛擬伺服器上執行的 SQL Server 執行個體,便會傳回虛擬伺服器名稱。 NULL = 輸入無效、錯誤或不適用。基底資料型別:nvarchar(128) |
NumLicenses |
未使用的。 SQL Server 產品未保留或維護的授權資訊。 一律傳回 NULL 。基底資料類型:int |
PathSeparator |
適用於:SQL Server 2017 (14.x) 和更新版本。 在 Windows 上傳回 \ ,而在 Linux 上傳回 / 基底資料型別:nvarchar |
ProcessID |
SQL Server 服務的處理序識別碼。 在識別哪個 Sqlservr.exe 屬於這個執行個體時,ProcessID 非常有用。NULL = 輸入無效、錯誤或不適用。基底資料類型:int |
ProductBuild |
適用於:自 2015 年 10 月起的 SQL Server 2014 (12.x)。 組建編號。 基底資料型別:nvarchar(128) |
ProductBuildType |
適用於:SQL Server 2012 (11.x) 至目前版本 (從 2015 晚期開始的更新)。 目前組建的組建類型。 傳回下列其中一值: OD = 特定客戶的隨選版本。 GDR = 透過 Windows Update 發行的一般發行版本。 NULL = 不適用。基底資料型別:nvarchar(128) |
ProductLevel |
SQL Server 執行個體的版本層級。 傳回下列其中一值: 'RTM' = 原始發行版本 'SPn' = Service Pack 版本 'CTPn', = Community Technical Preview 版本 基底資料型別:nvarchar(128) |
ProductMajorVersion |
適用於:SQL Server 2012 (11.x) 至目前版本 (從 2015 晚期開始的更新)。 主要版本。 基底資料型別:nvarchar(128) |
ProductMinorVersion |
適用於:SQL Server 2012 (11.x) 至目前版本 (從 2015 晚期開始的更新)。 次要版本。 基底資料型別:nvarchar(128) |
ProductUpdateLevel |
適用於:SQL Server 2012 (11.x) 到 2015 年末和 Azure SQL 受控執行個體 更新中的目前版本。 目前組建的更新層級。 CU 表示累積更新。 傳回下列其中一值: CUn = 累積更新 NULL = 不適用。基底資料型別:nvarchar(128) |
ProductUpdateReference |
適用於:SQL Server 2012 (11.x) 至目前版本 (從 2015 晚期開始的更新)。 該版本的知識庫文章。 基底資料型別:nvarchar(128) |
ProductUpdateType |
適用於:Azure SQL 受控執行個體 更新執行個體遵循的頻率。 對應到 Azure SQL 受控執行個體更新原則。 傳回下列其中一值: CU = 透過對應主要 SQL Server 版本 的累積更新 (CU) 部署更新 (SQL Server 2022 更新原則)。 連續 = 新功能一旦可供使用,就會立即帶入 Azure SQL 受控執行個體,與 SQL Server 發行頻率無關 (一律保持最新的更新原則)。 基底資料型別:nvarchar(128) |
ProductVersion |
SQL Server 執行個體的版本,格式為 major.minor.build.revision。 基底資料型別:nvarchar(128) |
ResourceLastUpdateDateTime |
傳回資源資料庫上次更新的日期和時間。 基底資料型別:datetime |
ResourceVersion |
傳回版本資源資料庫。 基底資料型別:nvarchar(128) |
ServerName |
與指定實例相關聯的 Windows 伺服器和實例資訊。NULL = 輸入無效,或錯誤。基底資料型別:nvarchar(128) |
SqlCharSet |
定序識別碼中的 SQL 字元集識別碼。 基底資料型別:tinyint |
SqlCharSetName |
定序中的 SQL 字元集名稱。 基底資料型別:nvarchar(128) |
SqlSortOrder |
定序中的 SQL 排序順序識別碼 基底資料型別:tinyint |
SqlSortOrderName |
定序中的 SQL 排序次序名稱。 基底資料型別:nvarchar(128) |
SuspendedDatabaseCount |
伺服器上暫止資料庫的數目。 基底資料類型:int |
傳回類型
sql_variant
備註
ServerName 屬性
ServerName
函式的 SERVERPROPERTY
屬性及 @@SERVERNAME 會傳回類似的資訊。
ServerName
屬性提供共同組成唯一伺服器執行個體的 Windows 伺服器和執行個體名稱。
@@SERVERNAME 提供目前所設定的本機伺服器名稱。
如果安裝時的預設伺服器名稱沒有改變,則 ServerName
屬性和 @@SERVERNAME 會傳回相同的資訊。 您可以執行下列作業來設定本機伺服器名稱:
EXEC sp_dropserver 'current_server_name';
GO
EXEC sp_addserver 'new_server_name', 'local';
GO
如果本機伺服器名稱已改成不是安裝時的預設伺服器名稱,則 @@SERVERNAME 就會傳回新的名稱。
ServerName
函數的 SERVERPROPERTY
屬性會在儲存時傳回 Windows 伺服器名稱。 在先前的主要版本中,該屬性會傳回大寫。 此行為在 SQL Server 2019 (15.x) CU 9 和 CU 12 之間變更回大寫,但從 SQL Server 2019 (15.x) CU 13 開始,伺服器名稱會隨著儲存而傳回。
如果 Windows 伺服器名稱包含任何小寫字元,則此行為變更可能會導致 ServerName
函數中 SERVERPROPERTY
屬性與 @@SERVERNAME (大寫與小寫) 之間的差異,即使伺服器名稱沒有變更也一樣。
假設您有名為 server01
的伺服器,且具有名為 INST1
的 SQL Server 執行個體。 下表摘要說明 SQL Server 2019 (15.x) 不同組建之間的行為變更:
SQL Server 2019 (15.x) 版本 | SERVERPROPERTY('ServerName') | 其他資訊 |
---|---|---|
RTM | SERVER01\INST1 |
以大寫傳回 ServerName 屬性 |
CU 1 – CU 8 | server01\INST1 |
依原樣傳回 ServerName 屬性,而不變更為大寫 |
CU 9 – CU 12 | SERVER01\INST1 |
以大寫傳回 ServerName 屬性 |
CU 13 和更新版本 | server01\INST1 |
依原樣傳回 ServerName 屬性,而不變更為大寫 |
版本屬性
SERVERPROPERTY
函式會傳回與版本資訊相關的個別屬性,而 @@VERSION 函式則會將輸出結合成一個字串。 若您的應用程式需要個別屬性字串,您可以使用 SERVERPROPERTY
函式傳回,而非剖析 @@VERSION 的結果。
權限
所有使用者都可以查詢伺服器屬性。
範例
下列範例會使用 SERVERPROPERTY
陳述式中的 SELECT
函式來傳回目前 SQL Server 執行個體的相關資訊。
SELECT
SERVERPROPERTY('MachineName') AS ComputerName,
SERVERPROPERTY('ServerName') AS InstanceName,
SERVERPROPERTY('Edition') AS Edition,
SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('ProductLevel') AS ProductLevel;
GO
相關內容
如需 SQL Server 版本所支援的功能清單,請參閱: