我最近将 RedHat Enterprise Linux 7.6 上的 SQL Server 2017 Developer Edition 升级到 SQL Server 2019 CTP 3.0。
mssql-server 服务将不再启动。/var/opt/mssql/log/errorlog 显示以下内容:
2019-06-12 09:36:31.98 服务器 Microsoft SQL Server 2019 (CTP3.0) - 15.0.1600.8 (X64)
2019 年 5 月 17 日 00:56:19
版权所有 (C) 2019 Microsoft Corporation
Developer Edition (64-bit) on Linux (Red Hat Enterprise Linux)
2019-06-12 09:36:32.04 服务器 UTC 调整:-5:00
2019-06-12 09:36:32.05 服务器 (c) Microsoft Corporation。
2019-06-12 09:36:32.07 服务器 版权所有。
2019-06-12 09:36:32.08 服务器服务器进程 ID 为 32。
2019-06-12 09:36:32.09 服务器在文件“/var/opt/mssql/log/errorlog”中记录 SQL Server 消息。
2019-06-12 09:36:32.10 服务器注册表启动参数:
-d /var/opt/mssql/data/master.mdf
-l /var/opt/mssql/data/mastlog.ldf
-e /var/opt/mssql/log/errorlog
2019-06-12 09:36:32.15 服务器命令行启动参数: --accept
-eula
2019-06 -12 09:36:32.18 服务器 SQL Server 检测到 1 个插槽,每个插槽有 4 个内核,每个插槽有 4 个逻辑处理器,总共 4 个逻辑处理器;使用 4 个基于 SQL Server 许可的逻辑处理器。这是一条情报信息; 无需用户操作。
2019-06-12 09:36:32.20 服务器 SQL Server 以正常优先级基础 (=7) 启动。这只是一条信息性消息。无需用户操作。
2019-06-12 09:36:32.23 服务器检测到 7856 MB 的 RAM。这是一条情报信息; 无需用户操作。
2019-06-12 09:36:32.24 服务器在内存管理器中使用常规内存。
2019-06-12 09:36:32.28 Linux 平台不支持服务器缓冲池扩展。
2019-06-12 09:36:32.29 服务器错误:17128,严重性:16,状态:1。
2019-06-12 09:36:32.29 服务器初始化数据:内核缓冲区没有内存。
/var/opt/mssql/mssql.conf 内容:
[sqlagent]
启用 = 假
systemctl status mssql-server
显示:
mssql-server.service - Microsoft SQL Server 数据库引擎
已加载:已加载(/usr/lib/systemd/system/mssql-server.service;已启用;供应商预设:已禁用)
活动:自 2019 年星期一以来失败(结果:启动限制) -06-17 13:57:45 CDT;26 分钟前
文档:https
://learn.microsoft.com/en-us/sql/linux 进程:71357 ExecStart=/opt/mssql/bin/sqlservr(code=exited,status=1/FAILURE)
主 PID:71357(代码=退出,状态=1/失败)
任务:0
CGroup:/system.slice/mssql-server.service6 月 17 日 13:57:45 rhel72-sqlserver.localdomain systemd[1]:mssql-server.service:主进程退出,代码=退出,状态=1/FAILURE
6 月 17 日 13:57:45 rhel72-sqlserver.localdomain systemd [ 1]:单元 mssql-server.service 进入失败状态。
6 月 17 日 13:57:45 rhel72-sqlserver.localdomain systemd[1]:mssql-server.service 失败。
6 月 17 日 13:57:45 rhel72-sqlserver.localdomain systemd[1]:mssql-server.service 延迟时间结束,计划重启。
6 月 17 日 13:57:45 rhel72-sqlserver.localdomain systemd[1]:停止 Microsoft SQL Server 数据库引擎。
6 月 17 日 13:57:45 rhel72-sqlserver.localdomain systemd[1]:mssql-server.service 的启动请求重复太快
6 月 17 日 13:57:45 rhel72-sqlserver.localdomain systemd[1]:无法启动 Microsoft SQL Server 数据库引擎。
Jun 17 13:57:45 rhel72-sqlserver.localdomain systemd[1]:单元 mssql-server.service 进入失败状态。
6 月 17 日 13:57:45 rhel72-sqlserver.localdomain systemd[1]:mssql-server.service 失败。
我试过yum remove mssql-server
了,然后是yum install mssql-server
,但没有改变。
有任何想法吗?
尝试以mssql-conf setup
root 身份运行可执行文件会导致以下结果:
[root@rhel72-sqlserver bin]# sudo ./mssql-conf setup
usermod: no changes
选择 SQL Server 的版本:
1) 评估(免费,无生产使用权,180 天限制)
2) 开发人员(免费,无生产使用权)
3) Express(免费)
4) Web (PAID)
5) Standard (PAID)
6) Enterprise (PAID) - CPU 核心利用率限制为 20 个物理/40 个超线程
7) Enterprise Core (PAID) - CPU 核心利用率最多操作系统
8) 我通过零售渠道购买了许可证,并且有一个产品密钥可以输入。有关版本的详细信息,请访问
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409使用此软件的付费版本需要通过
Microsoft 批量许可计划单独获得许可。
通过选择付费版本,您正在验证您是否拥有适当
数量的许可证来安装和运行该软件。输入您的版本 (1-8): 2
此产品的许可条款可在
/usr/share/doc/mssql-server 中找到或从以下网址下载:
https ://go.microsoft.com/fwlink/?LinkId=855862&clcid =0x409可以在以下位置查看隐私声明:
https ://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409输入 SQL Server 系统管理员密码:
确认 SQL Server 系统管理员密码:
配置 SQL Server...这是一个评估版本。评估期还剩 [153] 天。
此程序遇到致命错误,无法在 2019 年 6 月 17 日星期一 14:35:43 继续运行
以下诊断信息可用:Reason: 0x00000007 Status: 0xc0000218 Message: Cannot open or read the persistent registry: \SystemRoot\security.hiv.
Stack Trace:
000000006bd347d0
000000006bd31af7
000000006bd31d3a
000000006bd30ea5
000000006bd2faf7
000000006bd73371
Process: 75209 - sqlservr
Thread: 75213 (application thread 0x4)
Instance Id: ffcf27f9-18a5-485a-8a9d-34482c5efe06
Crash Id: cb1238f4-2504-457c-bbb3-d7ecad750aec
Build stamp: fbef7d3acfbedcf62a42c8909366dbba3852b92cabb497c2169680835fd60276
分布:红帽企业 Linux
处理器:4
总内存:16637898752 字节
时间戳:2019 年 6 月 17 日星期一 14:35:43Red Hat Enterprise Linux正在
将核心转储和信息捕获到 /var/opt/mssql/log...
提示:您目前看不到来自其他用户和系统的消息。
'systemd-journal' 组中的用户可以看到所有消息。通过 -q
关闭此通知。
由于权限不足,未打开任何日志文件。
提示:您目前看不到来自其他用户和系统的消息。
'systemd-journal' 组中的用户可以看到所有消息。通过 -q
关闭此通知。
由于权限不足,未打开任何日志文件。
/usr/bin/tail:无法打开“/var/log/messages”进行阅读:权限被拒绝
尝试使用 paldumper
捕获转储 使用 paldumper
/usr/bin/find 捕获转储:'/usr/share/polkit-1/rules.d':权限被拒绝
/usr/bin/find:'/usr/libexec/initscripts /legacy-actions/auditd':权限被拒绝
核心转储和信息正在后台压缩。完成
后,可以在以下位置找到它们:
/var/opt/mssql/log/core.sqlservr.06_17_2019_14_35_43.75209.tbz2
Microsoft SQL Server 的初始设置失败。请查阅
/var/opt/mssql/log 中的错误日志以获取更多信息。
[root@rhel72-sqlserver bin]#
我以 身份登录服务器root
,所以我不明白为什么我会看到“拒绝访问”错误。
所以,作为我的聪明人,我认为以 root身份登录到我的 RHEL 系统会更容易,然后我就不需要
sudo
每次都这样做。原来这是一个错误。
我可以通过使用我的“普通”Linux 帐户登录来修复我的安装,然后根据文档运行 sudo 命令以从 Microsoft 存储库中删除并重新安装 SQL Server 二进制文件。我还需要运行以下命令来重置现有 /var/opt/mssql/* 文件夹的文件系统对象的所有权和组成员身份:
故事的道德,不要在脚上开枪。好痛。哦,好吧,我想我的书还有一个小章节: