Câu trả lời nhanh
Chỉ cần chạy như sau:
{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".
Phương pháp này luôn hoạt động, không giống như các giải pháp khác sẽ không hoạt động khi:
- bạn không muốn viết chương trình (ví dụ: PowerShell)?
- Công cụ khách hàng chưa được cài đặt (bắt buộc phải sử dụng SQLCMD.EXE)?
- Không có tệp nhật ký SQL Server hoặc không có tệp nhật ký có chứa bất kỳ sự kiện bắt đầu / khởi động lại nào?
- SQL Server không chạy (do đó
SELECT @@VERSION;
không phải là một tùy chọn)?
Ví dụ 1
Nếu bạn chỉ cài đặt một Instance duy nhất, bạn không cần sử dụng công -s
tắc:
C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn>sqlservr.exe -v
Trả 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
Ví dụ 2
Nếu bạn đã cài đặt nhiều Trường hợp trên máy, bạn cũng cần sử dụng công -s
tắc để chỉ định Trường hợp nào bạn quan tâm, nếu không, nó có thể xen kẽ thông tin phiên bản:
C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS2014\MSSQL\Binn>sqlservr.exe -v
-s SQLEXPRESS2014
Trả về:
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
thông tin thêm
Cách nhanh nhất, dễ nhất và đáng tin cậy nhất để xác định thông tin phiên bản của chương trình chỉ đơn giản là yêu cầu thông tin đó từ chương trình. Hầu hết các chương trình ( * .COM và * .EXE ) có công tắc dòng lệnh / cờ / tham số / tùy chọn / dealy-ma-bob sẽ hiển thị trợ giúp và / hoặc thông tin phiên bản.
Tùy thuộc vào chính chương trình, công tắc dòng lệnh sẽ được bắt đầu bằng một trong các cách sau:
- [không có gì / nada]
- -
- -
- /
Và, một lần nữa tùy thuộc vào chính chương trình, công tắc dòng lệnh sẽ là một trong những điều sau đây:
- Chung nhất:
- Đôi khi có trong thông tin trợ giúp chung:
{Ví dụ về máy chủ SQL được hiển thị ở trên}
Mặt khác, tiện ích dòng lệnh SQLCMD.EXE sử dụng công -v
tắc để chuyển các giá trị biến vào tập lệnh SQL, do đó, nó chỉ hiển thị thông tin phiên bản trong màn hình hiển thị thông tin chung của nó:
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]
Tuy nhiên, NotePad chỉ có một bộ chuyển đổi dòng lệnh rất hạn chế và không ai trong số họ hiển thị thông tin phiên bản.
Phương pháp thay thế, không cầu kỳ:
Kiểm tra sổ đăng ký:
Khóa: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ {VersionNumber} \ Tools \ Setup
Name: Edition
Nếu bạn biết số phiên bản (ví dụ: SQL Server 2012 = 110, SQL Server 2014 = 120, v.v.), bạn có thể Phiên bản cho nó cụ thể bằng cách chạy đoạn mã sau tại dấu nhắc lệnh:
REG QUERY "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\{VersionNumber}\Tools\Setup" /v /e /f Edition
Trả về một mục tương tự như sau:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\Tools\Setup
Edition REG_SZ Developer Edition
Nếu bạn muốn xem Phiên bản cho bất cứ điều gì sẽ được cài đặt, hãy chạy phần sau tại dấu nhắc lệnh:
REG QUERY "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server" /s /v /e /f Edition
Trả về một hoặc nhiều mục tương tự như mục được hiển thị ở trên và sau:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11E.LOCALDB\Setup
Edition REG_SZ Express Edition
Kiểm tra nhật ký cài đặt:
C: \ Tệp chương trình \ Microsoft SQL Server \ {Phiên bản máy chủ SQL: 110, 120, v.v} \ Setup Bootstrap \ Log \ {date_time} \ Chi tiết.txt
Đối với chuỗi "IsExpressSku":
(03) 2014-09-05 16:53:44 SQLEngine: - Hiệu quả: IsExpressSku = True