SERVERPROPERTY (Transact-SQL)
サーバー インスタンスについてのプロパティ情報を返します。
適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)、Windows Azure SQL データベース (初回のリリースから現在のバージョンまで) |
構文
SERVERPROPERTY ( propertyname )
引数
propertyname
サーバーについて、返されるプロパティ情報を含む式を指定します。 propertyname は次のいずれかの値をとります。プロパティ
戻り値
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 インスタンスのインストールされている製品のエディション。 機能や制限 (SQLServer のエディション別の計算容量制限など) は、このプロパティの値を使用して調べます。 このバージョン (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 データベース
基本データ型: nvarchar(128)
EditionID
EditionID は、SQL Server のインスタンスについて、インストールされている製品のエディションを表します。 機能や制限 (SQLServer のエディション別の計算容量制限など) は、このプロパティの値を使用して調べます。
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
基本データ型: bigint
EngineEdition
サーバーにインストールされている SQL Server インスタンスのデータベース エンジンのエディション。
1 = Personal または Desktop Engine (SQL Server 2005 以降のバージョンでは使用できません)
2 = Standard (Standard、Web、および Business Intelligence の場合に返されます)
3 = Enterprise (Evaluation、Developer、および両方の Enterprise エディションの場合にこの値が返されます)
4 = Express (Express、Express with Tools、および Express with Advanced Services の場合に返されます)
5 = SQL Database
基本データ型: int
HadrManagerStatus
AlwaysOn 可用性グループ マネージャーが開始されたかどうかを示します。
0 = 未開始状態、通信保留中
1 = 開始されて実行中
2 = 未開始状態、失敗
NULL = 無効な入力、エラー、または該当なし
適用対象: SQL Server 2012 から SQL Server 2014。
InstanceName
ユーザーの接続先のインスタンス名。
インスタンス名が既定インスタンスの場合や、無効な入力またはエラーの場合は、NULL が返されます。
NULL = 無効な入力、エラー、または該当なし
基本データ型: nvarchar(128)
IsClustered
サーバー インスタンスがフェールオーバー クラスターで構成されます。
1 = クラスター化
0 = 非クラスター化
NULL = 無効な入力、エラー、または該当なし
基本データ型: int
IsFullTextInstalled
SQL Server の現在のインスタンスに、フルテキスト インデックス作成およびセマンティック インデックス作成のコンポーネントがインストールされています。
1 = フルテキスト インデックス作成およびセマンティック インデックス作成のコンポーネントがインストールされています。
0 = フルテキスト インデックス作成およびセマンティック インデックス作成のコンポーネントがインストールされていません。
NULL = 無効な入力、エラー、または該当なし
基本データ型: int
IsHadrEnabled
AlwaysOn 可用性グループは、このサーバー インスタンス上で有効です。
0 = AlwaysOn 可用性グループ機能は無効です。
1 = AlwaysOn 可用性グループ機能は有効です。
NULL = 無効な入力、エラー、または該当なし
基本データ型: int
SQL Server のインスタンスで可用性レプリカを作成して実行するには、サーバー インスタンス上で AlwaysOn 可用性グループが有効になっている必要があります。 詳細については、「AlwaysOn 可用性グループの有効化と無効化 (SQL Server)」を参照してください。
注意
IsHadrEnabled プロパティは、AlwaysOn 可用性グループ だけに関連します。データベース ミラーリングやログ配布などの、その他の高可用性機能および災害復旧機能は、このサーバー プロパティの影響を受けません。
適用対象: SQL Server 2012 から SQL Server 2014。
IsIntegratedSecurityOnly
サーバーは統合セキュリティ モードです。
1 = 統合セキュリティ (Windows 認証)
0 = 非統合セキュリティ (Windows 認証と SQL Server 認証の両方)。
NULL = 無効な入力、エラー、または該当なし
基本データ型: int
IsLocalDB
サーバーは SQL Server Express LocalDB のインスタンスです。
NULL = 無効な入力、エラー、または該当なし
適用対象: SQL Server 2012 から SQL Server 2014。
IsSingleUser
サーバーはシングル ユーザー モードです。
1 = シングル ユーザー
0 = 非シングル ユーザー
NULL = 無効な入力、エラー、または該当なし
基本データ型: int
IsXTPSupported
サーバーは、インメモリ OLTP をサポートします。
1 = サーバーはインメモリ OLTP をサポートします。
0 = サーバーはインメモリ OLTP をサポートしません。
NULL = 無効な入力、エラー、または該当なし
基本データ型: int
適用対象: SQL Server 2014 から SQL Server 2014。
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 サービスのプロセス ID。 ProcessID は、このインスタンスに属する Sqlservr.exe を識別するときに効果的です。
NULL = 無効な入力、エラー、または該当なし
基本データ型: int
ProductVersion
SQL Server インスタンスのバージョンです (major.minor.build.revision 形式)。
基本データ型: nvarchar(128)
ProductLevel
SQL Server インスタンスのバージョンのレベルです。
次のいずれかを返します。
'RTM' = オリジナル リリース バージョン
'SPn' = サービス パック バージョン
'CTP' = Community Technology Preview バージョン
基本データ型: 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)
FilestreamShareName
FILESTREAM で使用される共有の名前。
NULL = 無効な入力、エラー、または該当なし
FilestreamConfiguredLevel
FILESTREAM アクセスの構成されているレベル。 詳細については、「filestream のアクセス レベル」を参照してください。
FilestreamEffectiveLevel
FILESTREAM アクセスの有効なレベル。 レベルが変更されており、インスタンスの再起動またはコンピューターの再起動が保留されている場合、この値は FilestreamConfiguredLevel と異なることがあります。 詳細については、「filestream のアクセス レベル」を参照してください。
戻り値の型
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 関数は、出力を 1 つの文字列へと結合します。 アプリケーションで個々のプロパティ文字列を必要とする場合は、@@VERSION の結果を解析する代わりに SERVERPROPERTY 関数を使用して個々のプロパティ文字列を取得できます。
使用例
次の例では、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