initdata:内核缓冲区没有内存


8

我最近将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
开发人员版(64位) 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个逻辑处理器;使用基于SQL Server许可的4个逻辑处理器。这是一条情报信息; 无需用户操作。
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服务器initdata:内核缓冲区无内存。

/var/opt/mssql/mssql.conf内容:

[sqlagent]
enabled = false

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
://docs.microsoft.com/zh-cn/sql/linux进程:71357 ExecStart = / opt / mssql / bin / sqlservr(代码=已退出,状态= 1 /失败)
主PID:71357(代码=退出,状态= 1 /失败)
任务:0
CGroup:/system.slice/mssql-server.service

6月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数据库引擎。
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失败。

我尝试过yum remove mssql-server,其次是yum install mssql-server,但没有任何变化。

有任何想法吗?

尝试以mssql-conf setup根用户身份运行可执行文件会导致以下结果:

[root @ rhel72-sqlserver bin]#sudo ./mssql-conf安装程序
usermod:无更改
选择SQL Server版本:
1)评估(免费,没有生产使用权,期限为180天)
2)开发人员(免费,没有生产使用权)
3)Express(免费)
4)Web(PAID)
5)标准(PAID)
6)企业(PAID)-CPU核心利用率限制为20个物理/ 40超线程
7)企业核心(PAID)-CPU内核利用率最多操作系统上限
8)我通过零售渠道购买了许可证,并具有要输入的产品密钥。

有关版本的详细信息,访问
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409

使用此软件的PAID版本需要通过
Microsoft批量许可程序进行单独的许可。
通过选择PAID版本,您正在验证您具有
安装和运行此软件的适当数量的许可证。

输入您的版本(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.  

堆栈跟踪:
000000006bd347d0
000000006bd31af7
000000006bd31d3a
000000006bd30ea5
000000006bd2faf7
000000006bd73371
流程:75209 - SQLSERVR
主题:75213(应用程序线程为0x4)
实例ID:ffcf27f9-18a5-485a-8a9d-34482c5efe06
崩溃ID:cb1238f4-2504-457c-bbb3-d7ecad750aec
构建邮票:fbef7d3acfbedcf62a42c8909366dbba3852b92cabb497c2169680835fd60276
发行:Red Hat Enterprise Linux
处理器:4
总内存:16637898752字节
时间戳:2019年6月17日星期一14:35:43

红帽企业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,所以我不明白为什么看到“拒绝访问”错误。


建议:尝试添加一些交换内存(4或8GB)。
ypercubeᵀᴹ

Answers:


2

因此,作为我的聪明人,我认为以root身份登录到我的RHEL系统会更容易,那么我不需要sudo每次都这样做。

原来那是一个错误。

我能够通过使用“常规” Linux帐户登录来修复安装,然后根据文档运行sudo命令以从Microsoft存储库中删除并重新安装SQL Server二进制文件。我还需要运行以下命令来重置现有/ var / opt / mssql / *文件夹的文件系统对象的所有权和组成员身份:

chown -R mssql /var/opt/mssql/*
chgrp -R mssql /var/opt/mssql/*

这个故事的寓意,不要自欺欺人。好痛。哦,好吧,我想我的书还会再写一小章:

Linux历险记,又称Linux,将永远不会成为台式机上Linux的一年。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.