我租用了Hosteurope提供的4 GB内存的虚拟服务器,包括SQL Server 2008 Workgroup Edition的许可证。 它工作正常,速度很快,但是每当我加载一些内存时,内存就会耗尽,结果服务器就会崩溃。
应该提到的是Hosteurope有一个虚拟服务器的系统,它不允许在服务器上使用交换。 这就是为什么没有页面文件,当内存不足时,它完全没有了。
Hosteurope拒绝帮助或承担任何责任,但我真的希望有人在这里serverfault可以帮助我。
我已经尝试将SQL Server中的“最大服务器内存”设置设置为2000,但没有任何区别。
问题的症状数据库服务器停止接受连接。
与SQL Serverbuild立连接时发生networking相关或特定于实例的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:命名pipe道提供程序,错误:40 – 无法打开连接到SQL Server)
…直到下一次有一点负载,然后再次停止工作。
所以,现在我请您:
帮助弄清楚如何find导致此行为的确切错误。 我已经查看了系统和应用程序的事件日志,但都没有显示任何结论。
帮助弄清楚如何configuration我的服务器/ SQL服务器安装,使其不会崩溃。
主要解决scheme如果希望在其上加载负载,请不要在禁用交换/页面文件的Windows Server上运行SQL Server。 这意味着,如果您希望将数据载入您的数据库服务器,请不要selectHostEurope作为您的主机。
次要解决scheme通过限制SQL Server上并行工作人员的数量来提高可靠性,如下面接受的答案中所述。
我有和欧洲主机完全一样的虚拟服务器以及同样的问题。 我想我已经find了一个解决scheme。
在我看来,在服务器上的并行性导致了这个问题。 虚拟服务器有24个虚拟CPU,这对于4 GB的RAM来说太多了。 我在SQL实例的configuration(我有一个德国的系统,我不知道一个英文的SQL服务器的确切文本)做了以下更改:
这似乎解决了我的问题。
首先,Windows本身并没有交换,它有点不同(如果你在现有的系统上运行perfmon,你会发现它甚至没有页面文件也会出现页面错误),请参阅https://serverfault.com/a/75027 / 3528的细节。
你说当你把负载放在服务器上时,服务器的内存不足了。 你有一些日志或证据表明内存不足。 通常可怕的糟糕的事情出问题很久之前,如果你真的内存不足,sql server有机会拒绝你的访问。 事件日志中应该有一些事件会给你提供一些线索。
在configuration中启用最大服务器内存分配3GB的SQL服务器和1GB的Windows服务器。
可能是帮助…
问候,
SivaG