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 執行個體產品版本。請利用這個屬性值來判斷已安裝的產品所支援的功能和限制 (如最大 CPU 數目)。64 位元版的 Database Engine 會將 (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
安裝在伺服器上之 Database Engine 版的 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 Cluster Service 虛擬伺服器上執行的 SQL Server 執行個體,便會傳回虛擬伺服器名稱。
NULL = 輸入無效,或發生錯誤。
基底資料型別:nvarchar(128)
NumLicenses
如果在每一基座模式中,便是這個 SQL Server 執行個體所登錄的用戶端授權數目。
如果在每一處理器模式中,便是這個 SQL Server 執行個體所登錄的處理器數目。
當伺服器不是其中一個項目時,便會傳回 NULL。
基底資料型別:int
ProcessID
SQL Server 服務的處理序識別碼。在識別哪個 Sqlservr.exe 屬於這個執行個體時,ProcessID 非常有用。
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
指定的 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 屬性
範例
下列範例會利用 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