安装SQL Server 2017 Developer Edition

时间:2017-11-20 06:11:19

标签: sql-server installation sql-server-2017

Feature Rules屏幕上的Windows 10计算机上安装SQL Server 2017 Developer Edition时,我无法通过以下规则:

  • Polybase
  • 需要Oracle JRE 7 Update 51(64位)或更高版本

我收到以下错误:

  

此计算机没有Oracle Java SE运行时环境   安装了版本7更新51(64位)或更高版本。 Oracle Java SE   Runtime Environment是由第三方提供的软件。微软   授予您此类第三方软件的权利。你是   负责并且必须单独查找,阅读和接受适用的   第三方许可条款。要继续,请下载Oracle SE Java   来自的运行时环境   https://go.microsoft.com/fwlink/?LinkId=526030

enter image description here

我的机器上安装了足够高的Java版本(9.x)。我运行了命令java -XshowSettings:properties -version,它在我的框中提供了与Java安装相关的以下详细信息:

Property settings:
    awt.toolkit = sun.awt.windows.WToolkit
    file.encoding = Cp1252
    file.encoding.pkg = sun.io
    file.separator = \
    java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
    java.awt.printerjob = sun.awt.windows.WPrinterJob
    java.class.path =
    java.class.version = 53.0
    java.home = C:\Program Files\Java\jre-9.0.1
    java.io.tmpdir = C:\Users\RASIK~1.BIH\AppData\Local\Temp\
    java.library.path = C:\ProgramData\Oracle\Java\javapath
        C:\Windows\Sun\Java\bin
        C:\Windows\system32
        C:\Windows
        C:\ProgramData\Oracle\Java\javapath
        C:\Program Files (x86)\Intel\iCLS Client\
        C:\Program Files\Intel\iCLS Client\
        C:\Windows\system32
        C:\Windows
        C:\Windows\System32\Wbem
        C:\Windows\System32\WindowsPowerShell\v1.0\
        C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static
        C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL
        C:\Program Files\Intel\Intel(R) Management Engine Components\DAL
        C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT
        C:\Program Files\Intel\Intel(R) Management Engine Components\IPT
        C:\Program Files\Microsoft SQL Server\130\Tools\Binn\
        C:\Program Files\dotnet\
        C:\Program Files\Git\cmd
        C:\Program Files\nodejs\
        C:\Program Files\1E\NomadBranch\
        C:\Program Files\TortoiseSVN\bin
        C:\Users\rasik.bihari\AppData\Local\Microsoft\WindowsApps
        C:\Users\rasik.bihari\AppData\Roaming\npm
        .
    java.runtime.name = Java(TM) SE Runtime Environment
    java.runtime.version = 9.0.1+11
    java.specification.name = Java Platform API Specification
    java.specification.vendor = Oracle Corporation
    java.specification.version = 9
    java.vendor = Oracle Corporation
    java.vendor.url = http://java.oracle.com/
    java.vendor.url.bug = http://bugreport.java.com/bugreport/
    java.version = 9.0.1
    java.vm.compressedOopsMode = Zero based
    java.vm.info = mixed mode
    java.vm.name = Java HotSpot(TM) 64-Bit Server VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Oracle Corporation
    java.vm.specification.version = 9
    java.vm.vendor = Oracle Corporation
    java.vm.version = 9.0.1+11
    jdk.debug = release
    line.separator = \r \n
    os.arch = amd64
    os.name = Windows 10
    os.version = 10.0
    path.separator = ;
    sun.arch.data.model = 64
    sun.boot.library.path = C:\Program Files\Java\jre-9.0.1\bin
    sun.cpu.endian = little
    sun.cpu.isalist = amd64
    sun.desktop = windows
    sun.io.unicode.encoding = UnicodeLittle
    sun.java.launcher = SUN_STANDARD
    sun.jnu.encoding = Cp1252
    sun.management.compiler = HotSpot 64-Bit Tiered Compilers
    sun.os.patch.level =
    sun.stderr.encoding = cp850
    sun.stdout.encoding = cp850
    user.country = IN
    user.dir = C:\Users\rasik.bihari
    user.home = C:\Users\rasik.bihari
    user.language = en
    user.name = Rasik.Bihari
    user.script =
    user.timezone =
    user.variant =

java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

不确定此安装程序还在寻找什么。还有其他人遇到过这个错误吗?一个明显的解决方案是跳过PolyBase Query Service for External Data功能,即在Feature Selection屏幕上取消选择,但我不想这样做。我想解决这个问题,为什么当我的机器配置满足所有先决条件时它仍然在中断安装?

6 个答案:

答案 0 :(得分:6)

我完全解释了根本原因,并在2017年12月初发布的文章中提供了一个注册表编辑解决方法。问题在SQL Server 2016和2017中与here一文中提到的相同。

快速摘要是Oracle在JRE版本8之后更改了注册表项结构。 SQL Server 2016和2017安装程序将查找在以下位置找到的JRE版本7注册表项名称: HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment

假设您要使用JRE版本9并且您不想安装JRE版本7.您必须导出HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE中找到的JRE 9版本密钥并编辑它们以生成密钥名称匹配JRE 7.重命名有三个键。导入已编辑的密钥。这样,安装程序将找到指向JRE 9位置的版本7键名。

引用文章中有关编辑密钥名称的部分:

  

您希望使用Java Runtime替换所有出现的JRE   环境。您不得更改小写的jre引用。

例如,将HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE更改为HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment

答案 1 :(得分:3)

引言:

我有同样的问题,带我永远修复它。我从最新版本的Java开始(可在此处获取:http://www.oracle.com/technetwork/java/javase/downloads/index.html)并安装了JRE,JRE Server和JDK;首先单独,然后完全遵循这里的说明:https://docs.oracle.com/javase/9/install/installation-jdk-and-jre-microsoft-windows-platforms.htm#JSJIG-GUID-A7E27B90-A28D-4237-9383-A58B416071CA)但保持得到相同的错误消息。

解决方案:

  1. 卸载了我在Windows 10上安装的所有三个Java 9
  2. 删除环境变量中的所有Java路径(位于“系统属性”,“高级”选项卡中);打开开始菜单后,通过搜索env轻松找到它,然后选择"编辑系统环境变量"在搜索结果中
    • 在系统属性/高级中,选择"路径" "系统变量"中的变量并删除该变量中的所有Java路径。
  3. 重启我的电脑并从此路径下载了JRE 7(jre-7u80-windows-x64.exe):http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
  4. 运行exe文件,完成安装后,返回系统属性并将新的Java位置添加到路径中。您应该添加bin文件夹的位置;在我的电脑中,它是:C:\ program files \ java \ jre7 \ bin
  5. 我还启用了Java Access Bridge。 Java安装指南:"默认情况下,禁用Java Access Bridge。要启用它,请运行以下命令(其中%JRE_HOME%是JRE的目录):%JRE_HOME%\ bin \ jabswitch -enable"
  6. 重新启动我的系统
  7. 轻松安装PolyBase。
  8. 之后我将Java重新更新为9。 希望这也有助于你的情况!

答案 2 :(得分:1)

我尝试安装包含PolyBase的SQL Server 2017。除了安装JRE 8.144

,没有解决方案对我有用

JRE 8.144 Download

答案 3 :(得分:0)

  

警告:这是一个注册表修复程序,因此请自行承担风险!

情况:我已经安装了JDK,这比设置中所需的版本要高得多。

查看安装日志,我发现了这个:

SQLPolyBase: Could not find registry setting HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion.

解决方案:转到注册表编辑器。创建密钥“Java Runtime Environment”并复制以下密钥下的所有内容:

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE

完成后,运行扫描应该会成功。

答案 4 :(得分:0)

我今天才遇到这个问题,最近5个小时我一直在寻找解决方案,但是我确实在这里找到了解决方案,但是有一种“提供解决方案的糟糕方法”

基本上,解决方案是转到注册表编辑器(打开运行并键入regedit),然后转到第三个选择,即“ HKEY_LOCAL_MACHINE”,然后选择“ SOFTWARE> JAVASOFT> JRE”,您将发现名为JRE的文件只需更改基本上就是这样,因为SQL Server安装问题是它没有找到名称为“ Java Runtime Environment”的文件夹,而是找到了JRE,它只是一个快捷方式,并且快捷方式提供了最近的更新5和更高版本,这就是为什么您下载并安装JRE 5或更高版本时出现错误!

答案 5 :(得分:0)

上面提到的John Paul Cooks回答,支持文章在JDK 11和SQL 2017上效果很好

我添加了此注释以显示特定的JDK 11值-流程并未更改。

JDK 11 –适用于SQL 2017的简单注册表技巧

1::从注册表导出JDK密钥       HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ JDK

2:在已导出的Text .reg文件中,用Java运行时环境替换键名部分JDK。只是键名-不会在值中使用文本JDK等其他任何地方。

3::将刚刚编辑的.Reg文件导入注册表。 现在,您有了真正的JDK密钥和JDK密钥及其所有值的副本。第二个新的JDK密钥称为“ Java Runtime Environment”,而不是JDK。

Both Original and New Key for JDK

真正的Key JDK被单独保留。第二个名为Java Runtime Environment的密钥可以让SQL Server执行安装。第二个新密钥与每个SubKey的JDK密钥具有完全相同的项目值-只是更改的JDK密钥的名称。