Docker中的SQL Server错误“消息10054,级别20,状态0,行0”

时间:2019-04-15 15:17:00

标签: sql-server docker

我已经在Ubuntu 16.04 LTS计算机中设置了多个docker容器。它们都具有相同的container image

它工作得很好,但是一些用户在尝试进行长时间查询时向我报告了一个常见问题,并且在执行查询大约一分钟后,他们收到一条错误消息:

  

男人。 10054,Nivel 20,Estado 0,Línea0
  错误的运输和维修结果错误。   (提供者:TCP提供程序,错误:0-主机重命名存在问题。)

错误消息被翻译成英文:

  

信息10054,级别20,状态0,第0行
  接收服务器结果时传输级别错误。 (提供者:TCP提供程序,错误:0-远程主机已强制中断现有连接。)

我可以在其配置下进行某些修改吗?

PS:我注意到在服务器属性“连接”>“远程服务器连接”>中,我已经“检查Permitir conexiones remotas con este servidor”,等待时间为0秒(无等待时间)。

编辑

我附加了一个容器的配置快照:

General configuration

Memory configuration

Processors' configuration

Connections' configuration

Database configuration. Current values omitted (they're the same).

Advanced configuration

省略了权限配置,因为我认为这不相关。

1 个答案:

答案 0 :(得分:0)

我已经通过使用官方MSSQL image from Microsoft解决了这个问题,就像我在使用自定义Ubuntu 16.04 LTS + MSSQL软件包一样。所有数据都存储在一个卷中,因此从一个容器到新容器的转换非常容易。

编辑: 先前并没有真正解决问题。真正的问题是我查询了太多数据。查询一个广泛的数据集意味着要消耗尽可能多的RAM。我根本没有限制它,因此当达到可用的最大内存量时,操作系统(调度程序)将终止该进程。该解决方案已导致配置内存限制。