sql-server - 在 ubuntu 上配置 MSSQL Server - 无法打开或读取持久注册表:\SystemRoot\security.hiv
问题描述
我正在使用以下指南在我的 ubuntu 16.04 机器上安装 MSSQL 服务器 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.
我也发现了这个帖子,看起来这个人有类似的问题,但遗憾的是没有解决方案
有人知道如何解决我的问题吗?
谢谢
编辑:实施答案后,我得到了另一个错误:
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 现在正在启动。
解决方案
您将在以下位置找到更多信息
/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
推荐阅读
- javascript - 如何从 Promise、reduce、format 内部返回数据?
- sql - 为什么 SQL 中存在“WHERE”?因为“HAVING”可以完成它的任务,而且还不止这些
- mongodb - .find() 填充查询 MongoDB (mongoose)
- sql-server - 创建表空间:CREATE、DROP 或 ALTER 语句中使用的未知对象类型“TABLESPACE”
- javascript - Chrome 网上应用店付款弃用 - 如何迁移
- amazon-web-services - CloudFormation 堆栈中的错误:策略中的语法错误。(服务:AmazonIdentityManagement;状态代码:400;
- amqp - Azure 服务总线 javax.jms.IllegalStateException:由于不可恢复的错误,MessageProducer 已关闭
- java - 用一个节点打印链表类失败
- python - 如何加速组合算法?
- python - Python TypeError:“NoneType”类型的对象没有 len()