次の方法で共有


SERVERPROPERTY (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric WarehouseMicrosoft Fabric SQL Database

サーバー インスタンスについてのプロパティ情報を返します。

Transact-SQL 構文表記規則

Microsoft Entra ID の、旧称は Azure Active Directory(Azure AD)です。

構文

SERVERPROPERTY ( 'propertyname' )

重要

SQL Server と Azure SQL Database と Microsoft Fabric のデータベース エンジンのバージョン番号は互いに比較できません。また、これらの個別の製品の内部ビルド番号を表します。 Azure SQL データベース の データベース エンジン は、SQL Server データベース エンジン と同じコード ベースに基づいています。 最も重要なのは、Azure SQL データベース の データベース エンジン には常に最新の SQL データベース エンジン ビットがあることです。 たとえば、Azure SQL Database のバージョン 12 は SQL Server のバージョン 16 より新しくなっています。

引数

propertyname

サーバーについて返されるプロパティ情報を含む式。 propertyname 値は次のいずれかを指定することができます。 無効か、そのバージョンのデータベース エンジンでサポートされていない propertyname を使用すると、NULL が返されます。

プロパティ 返される値
BuildClrVersion SQL Server のインスタンスのビルド時に使われた Microsoft .NET Framework 共通言語ランタイム (CLR) のバージョン。

NULL = 入力が有効でない、エラー、または該当しない。

基本データ型: nvarchar(128)
Collation サーバーの既定の照合順序の名前。

NULL = 入力が無効であるか、エラーです。

基本データ型: nvarchar(128)
CollationID SQL Server 照合順序の ID。

基本データ型: 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 Edition:Core-based Licensing'

'Enterprise Evaluation Edition'

'Business Intelligence Edition'

'Developer Edition'

'Express Edition'

'Express Edition with Advanced Services'

'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:Core-based Licensing

610778273 = エンタープライズ評価

284895786 = ビジネス インテリジェンス

-2117995310 = Developer

-1592396055 = Express

-133711905 = Express with Advanced Services

-1534726760 = Standard

1293598313 = Web

1674378470 = SQL Database または Azure Synapse Analytics

-1461570097 = Azure SQL Edge Developer

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 Managed Instance

9 = Azure SQL Edge (Azure SQL Edge のすべてのエディションの場合)

11 = Azure Synapse サーバーレス SQL プールまたは Microsoft Fabric

12 = Microsoft Fabric SQL 分析エンドポイント

基本データ型: int
FilestreamConfiguredLevel FILESTREAM アクセスの構成されているレベル。 詳細については、「filestream のアクセス レベル」を参照してください。

0 = FILESTREAM が無効です

1 = Transact-SQL アクセスに対して FILESTREAM が有効になっています

2 = Transact-SQL およびローカルの Win32 ストリーミング アクセスに対して FILESTREAM が有効になっています

3 = Transact-SQL およびローカルとリモートの両方の Win32 ストリーミング アクセスに対して FILESTREAM が有効になっています

基本データ型: int
FilestreamEffectiveLevel FILESTREAM アクセスの有効なレベル。 レベルが変更されており、インスタンスの再起動またはコンピューターの再起動のいずれかが保留されている場合、この値は FilestreamConfiguredLevel と異なることがあります。 詳細については、「filestream のアクセス レベル」を参照してください。

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 セットアップ時に Advanced Analytics 機能がインストールされた場合は 1 を返します。Advanced Analytics がインストールされていない場合は 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 Managed Instance。

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) 以降。

サーバーは SQL Server Express LocalDB のインスタンスです。

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。

サーバーは、インメモリ OLTP をサポートします。

1 = サーバーはインメモリ OLTP をサポートします。

0 = サーバーはインメモリ 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 サービスのプロセス ID。 このインスタンスに属する 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' = サービス パックのバージョン

'CTPn', = Community Technology 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 Managed Instance 以降の更新プログラム。

現在のビルドのレベルを更新します。 CU は累積更新を示します。

次の値のいずれか。

CUn = 累積更新プログラム

NULL = 適用されません。

基本データ型: nvarchar(128)
ProductUpdateReference 適用対象: SQL Server 2012 (11.x) から 2015 年後半以降の更新プログラムの現在のバージョン。

そのリリースのサポート技術情報の記事です。

基本データ型: nvarchar(128)
ProductUpdateType 適用対象: Azure SQL Managed Instance

インスタンスが従う更新の周期。 Azure SQL Managed Instance の更新ポリシーに対応します。

次の値のいずれか。

CU = 更新は、対応する主要な SQL Server リリース (SQL Server 2022 更新ポリシー) の累積更新プログラム (CU) を使用して展開されます。

継続的 = 新しい機能は、SQL Server リリース周期 (Always-up-to-date 更新ポリシー) とは無関係に、使用可能になるとすぐに Azure SQL Managed Instance に取り込まれます。

基本データ型: nvarchar(128)
ProductVersion SQL Server のインスタンスのバージョン (major.minor.build.revision 形式)。

基本データ型: nvarchar(128)
ResourceLastUpdateDateTime リソース データベースが最後に更新された日時を返します。

基本データ型: datetime
ResourceVersion リソース データベースのバージョンを返します。

基本データ型: nvarchar(128)
ServerName Windows サーバーと、指定したインスタンスに関連付けられているインスタンス情報の両方。

NULL = 入力が無効であるか、エラーです。

基本データ型: nvarchar(128)
SqlCharSet 照合順序 ID の SQL 文字セット ID。

基本データ型: tinyint
SqlCharSetName 照合順序の SQL 文字セットの名前。

基本データ型: nvarchar(128)
SqlSortOrder 照合順序の SQL 並べ替え順序 ID。

基本データ型: 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、SQL Server インスタンスの名前が INST1 であるとします。 次の表は、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 プロパティをそのまま返します

Version のプロパティ

SERVERPROPERTY 関数は、バージョン情報に関連する個別のプロパティを返します。一方で、@@VERSION 関数は、出力を 1 つの文字列に結合します。 アプリケーションで個別のプロパティ文字列が必要な場合は、SERVERPROPERTY の結果を解析する代わりに、 関数を使用すると、そのような個別のプロパティ文字列を返すことができます。

アクセス許可

すべてのユーザーは、サーバーのプロパティをクエリできます。

次の例では、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

Windows の SQL Server の各エディションでサポートされる機能の一覧については、以下を参照してください。