SERVERPROPERTY (Transact-SQL)

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

主題連結圖示 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

請參閱

參考

SQL Server 2012 的版本和元件