RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 707673
Accepted
Nick Proskuryakov
Nick Proskuryakov
Asked:2020-08-18 21:35:01 +0000 UTC2020-08-18 21:35:01 +0000 UTC 2020-08-18 21:35:01 +0000 UTC

如何找出已安装的 SQL Server 的版本?

  • 772

下午好,我知道 SELECT @@VERSION,但还有其他方法吗?

sql
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. Best Answer
    Konstantin Taranov
    2020-08-18T22:04:49Z2020-08-18T22:04:49Z

    获取 Microsoft SQL Server 版本时主要有两种情况:

    1. 您可以选择连接到服务器(通过 SSMS、sqlcmd 或任何其他客户端)
    2. 您无法连接到服务器,但您可以访问 Windows 服务器(或 Linux,如果它是 SQL Server 2017)

    让我们首先考虑第一个选项。大部分信息都在优秀且强烈推荐的 KB321185 中可用并保持最新:确定 SQL Server 及其组件的版本、版本和更新级别

    1. 通过SSMS连接到服务器。连接后,对象资源管理器将显示版本信息(在括号中)以及用于连接到特定 SQL Server 实例的用户名。 SSMS 中的 SQL Server 版本

    2. 用一个查询:SELECT @@VERSION;。当前最新版本的 SQL Server 2016 SP1 CU4 的示例输出(在此处阅读有关 SQL Server 版本和更新的更多信息):

      Microsoft SQL Server 2016 (SP1-CU4) (KB4024305) – 13.0.4446.0 (X64)
          Jul 16 2017 18:08:49
          Copyright (c) Microsoft Corporation
          Developer Edition (64-bit) on Windows …
      
    3. 该查询适用于从 2000 年开始的所有 SQL Server 版本:

      SELECT SERVERPROPERTY('ProductVersion') AS ProductVersion
           , SERVERPROPERTY('ProductLevel')   AS ProductLevel
           , SERVERPROPERTY('Edition')        AS Edition;
      
    4. 具有所有可能的服务器属性的扩展版本(取自Glenn Berry的优秀诊断查询),但某些选项仅适用于最新版本的 SQL Server:

      SELECT SERVERPROPERTY('MachineName')                  AS [MachineName]
           , SERVERPROPERTY('ServerName')                   AS [ServerName]
           , SERVERPROPERTY('InstanceName')                 AS [Instance]
           , SERVERPROPERTY('IsClustered')                  AS [IsClustered]
           , SERVERPROPERTY('ComputerNamePhysicalNetBIOS')  AS [ComputerNamePhysicalNetBIOS]
           , SERVERPROPERTY('Edition')                      AS [Edition]
           , SERVERPROPERTY('ProductLevel')                 AS [ProductLevel]  -- What servicing branch (RTM/SP/CU)
           , SERVERPROPERTY('ProductUpdateLevel')           AS [ProductUpdateLevel]  -- Within a servicing branch, what CU# is applied
           , SERVERPROPERTY('ProductVersion')               AS [ProductVersion]
           , SERVERPROPERTY('ProductMajorVersion')          AS [ProductMajorVersion]
           , SERVERPROPERTY('ProductMinorVersion')          AS [ProductMinorVersion]
           , SERVERPROPERTY('ProductBuild')                 AS [ProductBuild]
           , SERVERPROPERTY('ProductBuildType')             AS [ProductBuildType]  -- Is this a GDR or OD hotfix (NULL if on a CU build)
           , SERVERPROPERTY('ProductUpdateReference')       AS [ProductUpdateReference] -- KB article number that is applicable for this build
           , SERVERPROPERTY('ProcessID')                    AS [ProcessID]
           , SERVERPROPERTY('Collation')                    AS [Collation]
           , SERVERPROPERTY('IsFullTextInstalled')          AS [IsFullTextInstalled]
           , SERVERPROPERTY('IsIntegratedSecurityOnly')     AS [IsIntegratedSecurityOnly]
           , SERVERPROPERTY('FilestreamConfiguredLevel')    AS [FilestreamConfiguredLevel]
           , SERVERPROPERTY('IsHadrEnabled')                AS [IsHadrEnabled]
           , SERVERPROPERTY('HadrManagerStatus')            AS [HadrManagerStatus]
           , SERVERPROPERTY('InstanceDefaultDataPath')      AS [InstanceDefaultDataPath]
           , SERVERPROPERTY('InstanceDefaultLogPath')       AS [InstanceDefaultLogPath]
           , SERVERPROPERTY('BuildClrVersion')              AS [Build CLR Version]
           , SERVERPROPERTY('IsXTPSupported')               AS [IsXTPSupported]
           , SERVERPROPERTY('IsPolybaseInstalled')          AS [IsPolybaseInstalled]  -- New for SQL Server 2016
           , SERVERPROPERTY('IsAdvancedAnalyticsInstalled') AS [IsRServicesInstalled]  -- New for SQL Server 2016
      ;
      
    5. 从 SQL Server 2008 版本开始,您还可以使用检测到 SQL Server 已安装功能的报告。该报告可在页面上找到Сервис -> Центра установки SQL Server。此工具显示有关系统上安装的所有 SQL Server 实例的信息。其中包括客户端工具,例如 SQL Server Management Studio。唯一要记住的是,这个工具只能在安装了 SQL Server 实例的系统上本地运行。它不能用于获取有关远程服务器的信息。在这里阅读更多

    现在让我们看看当您没有机会(或权限)连接到 SQL Server 时找出第二个选项的版本的方法:

    1. {InstanceHome}\MSSQL\Binn\sqlservr.exe -v [-s InstanceName]

    如果服务器上只安装了一个 SQL Server 实例,则不需要 -s:

        C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn>sqlservr.exe -v
    

    否则,您必须指定感兴趣的实例的名称,例如:

    C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS2014\MSSQL\Binn>sqlservr.exe -v -s SQLEXPRESS2014
    
    1. 如果操作系统是 Windows,那么可以查看注册表分支:

      Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\{VersionNumber}\Tools\Setup
      Name: Edition
      

    在命令行 cmd 中:

    REG QUERY "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\{VersionNumber}\Tools\Setup" /v /e /f Edition
    
    1. 通过 Powershell 脚本:

      $inst = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server').InstalledInstances
      foreach ($i in $inst){
          $p = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL').$i
          (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\$p\Setup").Edition
          (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\$p\Setup").Version
      }
      
    2. 查看此实例的错误日志文件中的前几行。默认情况下,错误日志位于Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG和中ERRORLOG.n。

    有关详细信息,请参阅:如何查找未安装 SSMS 的 SQL Server 版本/版本?

    • 11
  2. Serge Nazarenko
    2020-08-18T21:49:52Z2020-08-18T21:49:52Z

    作为一种选择:

    SELECT
    SERVERPROPERTY('ProductLevel') AS ProductLevel,
    SERVERPROPERTY('ProductUpdateLevel') AS ProductUpdateLevel,
    SERVERPROPERTY('ProductBuildType') AS ProductBuildType,
    SERVERPROPERTY('ProductUpdateReference') AS ProductUpdateReference,
    SERVERPROPERTY('ProductVersion') AS ProductVersion,
    SERVERPROPERTY('ProductMajorVersion') AS ProductMajorVersion,
    SERVERPROPERTY('ProductMinorVersion') AS ProductMinorVersion,
    SERVERPROPERTY('ProductBuild') AS ProductBuild
    
    • 9

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    Python 3.6 - 安装 MySQL (Windows)

    • 1 个回答
  • Marko Smith

    C++ 编写程序“计算单个岛屿”。填充一个二维数组 12x12 0 和 1

    • 2 个回答
  • Marko Smith

    返回指针的函数

    • 1 个回答
  • Marko Smith

    我使用 django 管理面板添加图像,但它没有显示

    • 1 个回答
  • Marko Smith

    这些条目是什么意思,它们的完整等效项是什么样的

    • 2 个回答
  • Marko Smith

    浏览器仍然缓存文件数据

    • 1 个回答
  • Marko Smith

    在 Excel VBA 中激活工作表的问题

    • 3 个回答
  • Marko Smith

    为什么内置类型中包含复数而小数不包含?

    • 2 个回答
  • Marko Smith

    获得唯一途径

    • 3 个回答
  • Marko Smith

    告诉我一个像幻灯片一样创建滚动的库

    • 1 个回答
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Алексей Шиманский 如何以及通过什么方式来查找 Javascript 代码中的错误? 2020-08-03 00:21:37 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5