使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

徵狀

當您在 Linux Docker 容器內執行 Microsoft SQL Server 2017 的實例時,您可能會收到記憶體不足的錯誤訊息。

原因

Linux 上的 SQL Server 根據預設,在未啟用 memorylimitmb 設定的情況下,使用了總實體記憶體的80% 的軟限制;對於 Docker 容器 SQL,是用來考慮總主機記憶體的80%,而不是將本身限制為已分配給 Docker 容器的80% 記憶體。 此不正確的記憶體限制可讓 SQL Server 嘗試消耗超過容器所能使用的記憶體,而且可由 OOM Killer 來供終止使用。

注意當您建立 Docker 影像時,您必須指定– m 來限制 Docker 記憶體。 如需詳細資訊,請參閱下列文章。

建立 Docker

解決方案

下列 SQL Server 更新包含此問題的修正程式:

SQL Server 2017 累計更新10 

如果未設定 memorylimitmb 設定,則此修正程式會允許 SQL Server 將其本身限制為已分配記憶體的80% 的軟限制至容器。

關於 SQL Server 組建

每個新組建的 SQL Server 都包含先前組建中的所有修復程式和安全性修正程式。 我們建議您安裝適用于您的 SQL Server 版本的最新組建:

SQL Server 2017 的最新組建

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

參考

瞭解 Microsoft 用於描述軟體更新的標準 術語

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×