素早い回答
以下を実行してください:
{InstanceHome}\MSSQL\Binn\sqlservr.exe -v [-s InstanceName]
NOTE ABOUT SQL Server Express LocalDB: LocalDB can only be determined by the
existence of the following folder:
C:\Program Files\Microsoft SQL Server\{SQL Server Version: 110, 120, etc}\LocalDB\Binn
Running "sqlserver.exe -v" doesn't help as it reports as being "Developer Edition", and
searching the Registry it reports as being "Express Edition".
次の場合に機能しない他のソリューションとは異なり、この方法は常に機能します。
- プログラム(PowerShellなど)を書きたくないですか?
- クライアントツールがインストールされていない(SQLCMD.EXEを使用するために必要)
- SQL Serverログファイルがないか、開始/再起動イベントを含むログファイルがありませんか?
- SQL Serverが実行されていません(したがって
SELECT @@VERSION;
オプションではありません)?
例1
インスタンスが1つだけインストールされている場合、-s
スイッチを使用する必要はありません。
C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn>sqlservr.exe -v
戻り値:
2015-08-01 11:40:11.63 Server Logging to event log is disabled. Startup option '-v' is supplied, either from the registry or the command prompt.
2015-08-01 11:40:11.63 Server Microsoft SQL Server 2012 - 11.0.5343.0 (X64)
May 4 2015 19:11:32
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
2015-08-01 11:40:11.63 Server (c) Microsoft Corporation.
2015-08-01 11:40:11.63 Server All rights reserved.
2015-08-01 11:40:11.63 Server Server process ID is 3824.
2015-08-01 11:40:11.63 Server System Manufacturer: '{CompanyName}', System Model: '{ModelNumber}'.
2015-08-01 11:40:11.63 Server Authentication mode is MIXED.
2015-08-01 11:40:11.63 Server The service account is '{AccountName}'. This is an informational message; no user action is required.
2015-08-01 11:40:11.63 Server SQL Server shutdown has been initiated
例2
マシンに複数のインスタンスがインストールされている場合、-s
スイッチを使用して、関心のあるインスタンスを指定する必要があります。そうでない場合、バージョン情報を混在させることができます。
C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS2014\MSSQL\Binn>sqlservr.exe -v
-s SQLEXPRESS2014
戻り値:
2015-08-01 12:01:13.13 Server Logging to event log is disabled. Startup option '-v' is supplied, either from the registry or the command prompt.
2015-08-01 12:01:13.13 Server Microsoft SQL Server 2014 - 12.0.4213.0 (X64)
Jun 9 2015 12:06:16
Copyright (c) Microsoft Corporation
Express Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
2015-08-01 12:01:13.13 Server UTC adjustment: -4:00
2015-08-01 12:01:13.13 Server (c) Microsoft Corporation.
2015-08-01 12:01:13.13 Server All rights reserved.
2015-08-01 12:01:13.13 Server Server process ID is 1712.
2015-08-01 12:01:13.13 Server System Manufacturer: '{CompanyName}', System Model: '{ModelNumber}'.
2015-08-01 12:01:13.13 Server Authentication mode is WINDOWS-ONLY.
2015-08-01 12:01:13.13 Server The service account is '{AccountName}'. This is an informational message; no user action is required.
2015-08-01 12:01:13.13 Server SQL Server shutdown has been initiated
追加情報
プログラムのバージョン情報を判断するための最も迅速で簡単で信頼性の高い方法は、プログラムにその情報を要求することです。ほとんどのプログラム(* .COMおよび* .EXE)には、ヘルプやバージョン情報を表示するコマンドラインスイッチ/フラグ/パラメーター/オプション/ dealy-ma-bobがあります。
プログラム自体に応じて、コマンドラインスイッチの先頭に次のいずれかが付きます。
また、プログラム自体に応じて、コマンドラインスイッチは次のいずれかになります。
- ごくありふれた:
- 一般的なヘルプ情報に含まれることもあります:
{上記のSQL Serverの例}
一方、コマンドラインユーティリティSQLCMD.EXEは、-v
スイッチを使用して変数値をSQLスクリプトに渡すため、バージョン情報のみを一般情報表示に表示します。
C:\>sqlcmd /?
Microsoft (R) SQL Server Command Line Tool
Version 11.0.2100.60 NT x64
Copyright (c) 2012 Microsoft. All rights reserved.
usage: Sqlcmd [-U login id] [-P password]
[-S server] [-H hostname] [-E trusted connection]
...
[-v var = "value"...] ...
...
[-? show syntax summary]
ただし、メモ帳には非常に限られたコマンドラインスイッチのセットしかなく、バージョン情報を表示するものはありません。
代替の簡単な方法:
レジストリを確認します。
キー:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ {VersionNumber} \ Tools \ Setup
Name:Edition
バージョン番号がわかっている場合(たとえば、SQL Server 2012 = 110、SQL Server 2014 = 120など)、コマンドプロンプトで次のコマンドを実行して、そのエディションを具体的に確認できます。
REG QUERY "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\{VersionNumber}\Tools\Setup" /v /e /f Edition
次のようなエントリを1つ返します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\Tools\Setup
Edition REG_SZ Developer Edition
何がインストールされているかのエディションを表示する場合は、コマンドプロンプトで次を実行します。
REG QUERY "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server" /s /v /e /f Edition
上記のエントリに類似した1つ以上のエントリを返します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11E.LOCALDB\Setup
Edition REG_SZ Express Edition
インストールログを確認します。
C:\ Program Files \ Microsoft SQL Server \ {SQL Serverバージョン:110、120など} \ Setup Bootstrap \ Log \ {date_time} \ Detail.txt
文字列「IsExpressSku」の場合:
(03)2014-09-05 16:53:44 SQLEngine:--EffectiveProperties:IsExpressSku = True