Sql-Server

initdata:核心緩衝區沒有記憶體

  • June 18, 2019

我最近將 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) o​​n 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

://docs.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.service

6 月 17 日 13:57:45 rhel72-sqlserver.localdomain systemd

$$ 1 $$:mssql-server.service:主程序退出,code=exited,status=1/FAILURE

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 失敗。

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 的啟動請求重複得太快

Jun 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 setuproot 身份執行執行檔會導致以下結果:

$$ root@rhel72-sqlserver bin $$# sudo ./mssql-conf setup

usermod: no changes

選擇 SQL Server 的版本:

  1. 評估版(免費,無生產使用權,180 天限制)

  2. 開發人員(免費,無生產使用權)

  3. Express (免費)

  4. Web (PAID)

  5. 標準 (PAID)

  6. 企業 (PAID) - CPU 核心使用率限制為 20 個物理/40 個超執行緒

  7. 企業核心 (PAID) - CPU 核心使用率高達作業系統最大值

  8. I通過零售渠道購買了許可證並有產品密鑰可以進入。 有關版本的詳細資訊,請訪問

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.  

堆棧跟踪:

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

Red 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/* 文件夾的文件系統對象的所有權和組成員身份:

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

故事的道德,不要在腳上開槍。好痛。哦,好吧,我想我的書還有一個小章節:

Linux 歷險記,又名,它永遠不會是桌面上的 Linux 之年。

引用自:https://dba.stackexchange.com/questions/240756