【发布时间】:2025-12-07 21:55:01
【问题描述】:
我们刚刚将生产数据库服务器从 32 位“升级”到了 64 位。它在 Windows Server 2003 上运行 SQL Server 2005 Standard。在升级后的晚上,服务器近一个小时不可用 - 客户端请求超时。然后问题似乎自行解决了。我对这个问题的唯一线索是 SQL 服务器日志中的内容:
LazyWriter:警告,未找到可用缓冲区。
内存管理器 虚拟机保留 = 8470288 KB VM 已提交 = 2167672 KB AWE 分配 = 0 KB 保留内存 = 1024 KB 使用中的保留内存 = 0 KB
消息 内存节点 ID = 0 虚拟机保留 = 8464528 KB VM 已提交 = 2162000 KB AWE 分配 = 0 KB 单页分配器 = 103960 KB 多页分配器 = 31832 KB
MEMORYCLERK_SQLGENERAL(总计) 虚拟机保留 = 0 KB VM 已提交 = 0 KB AWE 分配 = 0 KB SM 保留 = 0 KB SM 已提交 = 0 KB 单页分配器 = 4352 KB
然后有更多类似的消息以 MEMORYCLERK 开头。
有人知道发生了什么吗?似乎它的内存已经用完了,而且,当然,服务器只有 2GB 的物理 RAM,这不是今天的标准,但它肯定不应该完全停止工作吗?我应该将SQL允许使用的最大内存设置为1.6GB左右吗?我还能做些什么(显然,除了安装更多 RAM)?
【问题讨论】:
标签: sql-server memory