Швидкий відповідь
Просто запустіть наступне:
{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
Якщо у вас встановлений лише один екземпляр, вам не потрібно використовувати -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]
Однак у NotePad є дуже обмежений набір комутаторів командного рядка , і жоден з них не відображає інформацію про версію.
Альтернативні методи без суєти:
Перевірте реєстр:
Ключ: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ {VersionNumber} \ Інструменти \
Назва настройки : Видання
Якщо вам відомий номер версії (наприклад, SQL Server 2012 = 110, SQL Server 2014 = 120 і т.д.), ви можете випустити для нього видання спеціально, виконавши в командному рядку наступне:
REG QUERY "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\{VersionNumber}\Tools\Setup" /v /e /f Edition
Повертає один запис, подібний до наступного:
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
Повертає один або кілька записів, подібних до показаних вище та наступних:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11E.LOCALDB\Setup
Edition REG_SZ Express Edition
Перевірте журнал встановлення:
C: \ Програмні файли \ Microsoft SQL Server \ {Версія SQL Server: 110, 120 тощо} \ Setup Bootstrap \ Log \ {date_time} \ Detail.txt
Для рядка "IsExpressSku":
(03) 2014-09-05 16:53:44 SQLEngine: --EfectiveProperties: IsExpressSku = True