Szybka odpowiedź
Po prostu uruchom następujące polecenie:
{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".
Ta metoda zawsze działa, w przeciwieństwie do innych rozwiązań, które nie będą działać, gdy:
- nie chcesz pisać programu (na przykład PowerShell)?
- Narzędzia klienta nie zostały zainstalowane (wymagane do korzystania z SQLCMD.EXE)?
- Nie ma pliku dziennika programu SQL Server lub nie ma pliku dziennika zawierającego zdarzenia uruchamiania / restartowania?
- SQL Server nie działa (stąd
SELECT @@VERSION;
nie ma opcji)?
Przykład 1
Jeśli masz zainstalowaną tylko jedną instancję, nie musisz używać -s
przełącznika:
C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn>sqlservr.exe -v
Zwroty:
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
Przykład 2
Jeśli na komputerze jest zainstalowanych wiele instancji, należy również użyć -s
przełącznika, aby określić, która instancja jest zainteresowana, w przeciwnym razie może ona mieszać informacje o wersji:
C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS2014\MSSQL\Binn>sqlservr.exe -v
-s SQLEXPRESS2014
Zwroty:
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
Dodatkowe informacje
Najszybszym, najłatwiejszym i najbardziej niezawodnym sposobem na określenie informacji o wersji programu jest po prostu zażądanie tych informacji od programu. Większość programów ( * .COM i * .EXE ) ma przełącznik wiersza polecenia / flag / parameter / option / dealy-ma-bob, który wyświetla pomoc i / lub informacje o wersji.
W zależności od samego programu przełącznik wiersza polecenia będzie poprzedzony jedną z następujących czynności:
I znowu, w zależności od samego programu, przełącznik wiersza poleceń będzie jednym z następujących:
- Najczęściej:
- Czasami zawarte w ogólnych informacjach pomocy:
{Przykłady programu SQL Server pokazane powyżej}
Z kolei narzędzie SQLCMD.EXE z wiersza poleceń używa -v
przełącznika do przekazywania wartości zmiennych do skryptu SQL, więc wyświetla informacje o wersji tylko na ekranie informacji ogólnych:
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]
Uwaga: Pad ma jednak bardzo ograniczony zestaw przełączników wiersza polecenia i żaden z nich nie wyświetla informacji o wersji.
Alternatywne, bezproblemowe metody:
Sprawdź rejestr:
Klucz: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ {VersionNumber} \ Tools \ Setup
Name: Edition
Jeśli znasz numer wersji (np. SQL Server 2012 = 110, SQL Server 2014 = 120 itd.), Możesz go dla niego wydać, uruchamiając następujące polecenie w wierszu polecenia:
REG QUERY "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\{VersionNumber}\Tools\Setup" /v /e /f Edition
Zwraca jeden wpis podobny do następującego:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\Tools\Setup
Edition REG_SZ Developer Edition
Jeśli chcesz zobaczyć wydanie dla tego, co zostanie zainstalowane, uruchom następujące polecenie w wierszu polecenia:
REG QUERY "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server" /s /v /e /f Edition
Zwraca jeden lub więcej wpisów podobnych do pokazanego powyżej i następujące:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11E.LOCALDB\Setup
Edition REG_SZ Express Edition
Sprawdź dziennik instalacji:
C: \ Program Files \ Microsoft SQL Server \ {SQL Server Wersja: 110, 120 itp.} \ Setup Bootstrap \ Log \ {date_time} \ Detail.txt
Dla ciągu „IsExpressSku”:
(03) 2014-09-05 16:53:44 SQLEngine: --EffectiveProperties: IsExpressSku = True