我们正在运行 2014 年的 SQL Server。在过去的几年里,服务器每 2-7 天就会无缘无故地生成一次内存转储,锁定大多数进程,并迫使我们重新启动 SQL 服务才能使其运行。
这是错误文件的片段:
Exception Address = 00007FFAD7FCBAA2 Module(combase+000000000003BAA2)
Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
Access Violation occurred reading address 00000000D8063158
Input Buffer 74 bytes -
Run Code Online (Sandbox Code Playgroud)
还有什么我们应该探索的吗?
或者让 Microsoft 分析.MDMP
文件是我们唯一的选择吗?
需要提及的要点:
我们已将其修补到最新的服务包,以及最新的累积和 GDR 更新。没有改变
Microsoft SQL Server 2014 (SP3-CU4-GDR) (KB5014164) - 12.0.6439.10 (X64)
Run Code Online (Sandbox Code Playgroud)
没有与这些内存转储发生时间相关的特定 SQL 语句/存储过程。
SQL 数据库文件在与操作系统不同的硬盘上运行。它是一个 1TB 驱动器,在任何给定时间都有 250GB 可用空间。
该计算机是 Windows Server 2012 R2 虚拟机
CHKDSK
在操作系统和数据驱动器上未发现任何错误。
DBCC 检查顺利通过。
OPENQUERY
&OPENROWSET
功能使用相当频繁,使用最新的ACE
&ODBC
驱动程序。
如果我查询 sys.dm_server_memory_dumps,这是按日期排列的记录计数:
creation_time …
Run Code Online (Sandbox Code Playgroud)