SERVERPROPERTY (Transact-SQL)
傳回有關伺服器執行個體的屬性資訊。
語法
SERVERPROPERTY ( propertyname )
引數
propertyname
這是包含要傳回伺服器之屬性資訊的運算式。 propertyname 可以是下列值之一。屬性
傳回的值
BuildClrVersion
建立 SQL Server 執行個體時所用的 Microsoft .NET Framework Common Language Runtime (CLR) 版本。
基底資料型別: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 位元版的 Database Engine 會將 (64 位元) 附加至版本中。
傳回:
'Enterprise Edition'
‘Enterprise 版: 核心授權’
'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 版: 核心授權
610778273= Enterprise Evaluation
284895786 = Business Intelligence
-2117995310 = Developer
-1592396055 = Express
-133711905 = Express with Advanced Services
-1534726760 = Standard
1293598313 = Web
基底資料型別:bigint
EngineEdition
安裝在伺服器上之 SQL Server 執行個體的 Database Engine 版本。
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 Cluster Service 虛擬伺服器上執行的 SQL Server 執行個體,便會傳回虛擬伺服器名稱。
NULL = 輸入無效,或發生錯誤。
基底資料型別:nvarchar(128)
NumLicenses
未使用。 SQL Server 產品未保留或維護的授權資訊。 一律傳回 NULL。
基底資料型別:int
ProcessID
SQL Server 服務的處理序識別碼。 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
指定的 SQL Server 執行個體所關聯的 Windows 伺服器和執行個體資訊。
NULL = 輸入無效,或發生錯誤。
基底資料型別:nvarchar(128)
SqlCharSet
定序識別碼中的 SQL 字元集識別碼。
基底資料型別:tinyint
SqlCharSetName
定序中的 SQL 字元集名稱。
基底資料型別:nvarchar(128)
SqlSortOrder
定序中的 SQL 排序順序識別碼
基底資料型別: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 就會傳回新的名稱。
Version 屬性
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