SERVERPROPERTY (Transact-SQL)

傳回有關 SQL Server 2008 R2 伺服器執行個體的屬性資訊。

主題連結圖示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 位元) 附加至版本中。

    傳回:

    'Data Center Edition'

    'Desktop Engine' (不適用於 SQL Server 2005 和更新版本)。

    'Developer Edition'

    'Enterprise Edition'

    'Enterprise Evaluation Edition'

    'Express Edition'

    'Express Edition with Advanced Services'

    'Personal Edition' (不適用於 SQL Server 2005 和更新版本)。

    'Small Business Server Edition'

    'Standard Edition'

    'Web Edition'

    'Windows Embedded SQL'

    'Workgroup Edition'

    基底資料型別:nvarchar(128)

    EditionID

    這是代表已安裝之 SQL Server 執行個體產品版本的識別碼。請利用這個屬性值來判斷功能和限制 (如已安裝的產品所支援的最大 CPU 數目)。

    -978676123 = Data Center

    -1253826760 = Desktop

    -2117995310 = Developer

    -1592396055 = Express

    1804890536 = Enterprise

    610778273= Enterprise Evaluation

    -133711905 = Express with Advanced Services

    -323382091 = Personal

    -1960233010 = Small Business Server

    -1534726760 = Standard

    1293598313 = Web

    -3250176541 = Windows Embedded SQL

    1333529388 = Workgroup

    基底資料型別:bigint

    EngineEdition

    安裝在伺服器上之 SQL Server 執行個體的 Database Engine 版本。

    1 = Personal 或 Desktop Engine (SQL Server 2005 和更新版本中並未提供)。

    2 = Standard (Standard、Small Business Server、Web 和 Workgroup 都會傳回這個值)。

    3 = Enterprise (Enterprise、Enterprise Evaluation、Data Center 和 Developer 都會傳回這個值)。

    4 = Express (Express、Express with Advanced Services 和 Windows Embedded SQL 都會傳回這個值)。

    5 = SQL Azure

    基底資料型別: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 產品不會保留或維護授權資訊。一律傳回 DISABLED。

    基底資料型別:nvarchar(128)

    MachineName

    執行伺服器執行個體的 Windows 電腦名稱。

    如果是叢集執行個體,也就是在 Microsoft Cluster Service 虛擬伺服器上執行的 SQL Server 執行個體,便會傳回虛擬伺服器名稱。

    NULL = 輸入無效,或發生錯誤。

    基底資料型別:nvarchar(128)

    NumLicenses

    未使用。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 存取層級。如需詳細資訊,請參閱<filestream access level 選項>。

    FilestreamEffectiveLevel

    有效的 FILESTREAM 存取層級。如果此層級已變更而且執行個體重新啟動或電腦重新啟動已暫止,這個值就可能會與 FilestreamConfiguredLevel 不同。如需詳細資訊,請參閱<filestream access level 選項>。

傳回類型

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