在ubuntu上配置MSSQL Server-无法打开或读取持久注册表:\ SystemRoot \ security.hiv

时间:2019-04-01 13:14:38

标签: sql-server ubuntu-16.04

我正在使用以下指南在Ubuntu 16.04计算机上安装MSSQL Server https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-2017

我在跑步时:

sudo /opt/mssql/bin/mssql-conf setup

无论我选择哪种SQL Server版本,都会出现以下错误:

    Confirm the SQL Server system administrator password: 
Configuring SQL Server...

This program has encountered a fatal error and cannot continue running at Mon Apr  1 16:06:07 2019
The following diagnostic information is available:

       Reason: 0x00000007
      Message: Cannot open or read the persistent registry: \SystemRoot\security.hiv.
      Process: 19600 - sqlservr
       Thread: 19604 (application thread 0x4)
  Instance Id: 7ebfcf27-db60-460d-afd3-6d852b70069e
     Crash Id: d99ba388-d323-43f3-b758-e116f42bb2e8
  Build stamp: 70437f6583b8ef39b1ef70539ef84690980315dc7a4436c9c40015f28610e4aa
 Distribution: Ubuntu 16.04.6 LTS
   Processors: 8
 Total Memory: 16673366016 bytes
    Timestamp: Mon Apr  1 16:06:07 2019

Ubuntu 16.04.6 LTS
Capturing core dump and information to /var/opt/mssql/log...
Hint: You are currently not seeing messages from other users and the system.
      Users in the 'systemd-journal' group can see all messages. Pass -q to
      turn off this notice.
No journal files were opened due to insufficient permissions.
Hint: You are currently not seeing messages from other users and the system.
      Users in the 'systemd-journal' group can see all messages. Pass -q to
      turn off this notice.
No journal files were opened due to insufficient permissions.
/usr/bin/tail: cannot open '/var/log/syslog' for reading: Permission denied
Attempting to capture a dump with paldumper
Captured a dump with paldumper
Core dump and information are being compressed in the background. When
complete, they can be found in the following location:
  /var/opt/mssql/log/core.sqlservr.04_01_2019_16_06_07.19600.tbz2
Initial setup of Microsoft SQL Server failed. Please consult the ERRORLOG
in /var/opt/mssql/log for more information.

also I found this post,看起来这个人有类似的问题,但可惜没有解决方法

有人知道如何解决我的问题吗?

谢谢

编辑: 实施答案后,我得到另一个错误:

Confirm the SQL Server system administrator password: 
Configuring SQL Server...

Initial setup of Microsoft SQL Server failed. Please consult the ERRORLOG in /var/opt/mssql/log for more information

为了弄清日志文件夹中的混乱情况,我决定使用完全删除

  

sudo rm -rf / var / opt / mssql / log

并重新运行安装程序,显然这解决了我的最后一个问题,最后是:  安装成功完成。 SQL Server现在开始。

2 个答案:

答案 0 :(得分:1)

您将在

中找到更多信息。
/var/opt/mssql/log

我的说:

{
    "reason": "0x00000007",
    "processName": "sqlservr",
    "pid": "5773",
    "instanceId": "d7df749c-50e6-4f3b-b894-2aa7c743f33d",
    "crashId": "281e772a-5946-4349-aa9e-671cd0a3772c",
    "threadId": "5777",
    "libosThreadId": "0x4",
    "buildStamp": "70437f6583b8ef39b1ef70539ef84690980315dc7a4436c9c40015f28610e4aa",
    "message": "Cannot open or read the persistent registry: \\SystemRoot\\lsa.hiv.",
    "last_errno": "13",
    "last_errno_text": "Permission denied",
    "distribution": "Ubuntu 16.04.6 LTS",
    "processors": "4",
    "total_memory": "16732037120",
    "timestamp": "Fri Apr 12 22:02:44 2019"
}

所以我跑去查看“ systemroot”的位置:

  

找到security.hiv
  /var/opt/mssql/.system/system/security.hiv

我不知道应该应用哪个权限,所以我只是给“其他”提供了读写权限。

然后与

相同
lsa.hiv
licensing.hiv

重新运行

sudo /opt/mssql/bin/mssql-conf setup

,然后sql-server启动,其他权限再次消失。

顺便说一句,您可以在没有服务的情况下运行sql-server,即使服务失败,它也可以工作:

/opt/mssql/bin/sqlservr

答案 1 :(得分:0)

就我而言(@Mine)不仅是license.hiv。 我的/var/opt/mssql/.system/instance_id以某种方式被销毁,并且拥有所有者根目录的文件更多。 删除/var/opt/mssql/.system/instance_id并将所有root.root文件更改为mssql.mssql(更改为mssql.mssql /var/opt/mssql/.system/system/*)后,我可以重新运行“ / opt / mssql / bin / mssql-conf设置” 之后,mssql再次运行正常

我非常想知道“ /var/opt/mssql/.system/instance_id”是自己运行的。