SERVERPROPERTY (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
サーバー インスタンスについてのプロパティ情報を返します。
Note
Microsoft Entra ID の、旧称は Azure Active Directory(Azure AD)です。
構文
SERVERPROPERTY ( 'propertyname' )
重要
SQL Server と Azure SQL データベース の データベース エンジン バージョン番号は類似のものではありません。別個の製品に与えられる内部製造番号を表しています。 Azure SQL データベース の データベース エンジン は、SQL Server データベース エンジン と同じコード ベースに基づいています。 最も重要なのは、Azure SQL データベース の データベース エンジン には常に最新の SQL データベース エンジン ビットがあることです。 たとえば、Azure SQL Database のバージョン 12 は SQL Server のバージョン 16 より新しくなっています。
Note
SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。
引数
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 を示します '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 = Enterprise Evaluation 284895786 = Business Intelligence -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 プール 基本データ型: 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 年後半以降の更新プログラムの現在のバージョン。 現在のビルドのレベルを更新します。 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 |
SQL Server の特定のインスタンスに関連付けられている 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 プロパティ
SERVERPROPERTY
関数の ServerName
プロパティと @@SERVERNAME は、同様の情報を返します。 ServerName
プロパティが返す Windows サーバーとインスタンス名を合わせることで、一意なサーバー インスタンスが形成されます。 @@SERVERNAME は、現在構成されているローカル サーバー名を返します。
インストール時の既定のサーバー名から変更されていない場合、ServerName
プロパティと @@SERVERNAME は、同じ情報を返します。 ローカル サーバー名は次のストアド プロシージャを実行することによって構成できます。
EXEC sp_dropserver 'current_server_name';
GO
EXEC sp_addserver 'new_server_name', 'local';
GO
ローカル サーバー名がインストール時の既定のサーバー名から変更されている場合、@@SERVERNAME は新しい名前を返します。
SERVERPROPERTY
関数の ServerName
プロパティは、保存時の Windows サーバー名を返します。 前のメジャー バージョンでは、大文字が返されました。 この動作変更は、SQL Server 2019 (15.x) CU 9 から CU 12 までは大文字に戻されていましたが、SQL Server 2019 (15.x) CU 13 以降ではサーバー名が保存された状態のまま返されます。
Windows サーバー名に小文字が含まれている場合、この動作の変更により、サーバーの名前を変更していない場合でも、SERVERPROPERTY
関数の ServerName
プロパティと @@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 つの文字列に結合します。 アプリケーションで個別のプロパティ文字列が必要な場合は、@@VERSION の結果を解析する代わりに、SERVERPROPERTY
関数を使用すると、そのような個別のプロパティ文字列を返すことができます。
アクセス許可
すべてのユーザーは、サーバーのプロパティをクエリできます。
例
次の例では、SELECT
ステートメント内で SERVERPROPERTY
関数を使用することによって、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 の各エディションでサポートされる機能の一覧については、以下を参照してください。