none
关于运行在Windows Server 2012 R2 + SQL Server 2014 with SP2-GDR版本的双节点AlwaysOn环境的数据库,偶尔会出现某个数据库在辅助副本挂起的情况 RRS feed

  • 问题

  •   最近碰到一个问题,运行在Windows Server 2012 R2 + SQL Server 2014 with SP2-GDR版本的双节点AlwaysOn环境的数据库,可用性组里面有多个数据库,但是偶尔会出现某个数据库在辅助副本挂起的情况,而AG中其他数据库没有一点问题,主副本上的这个数据库也是正常的,从辅助数据库和主数据库服务器,都看到了一些信息,我查询了相关的错误,并没有明确的说明清楚是什么问题,有的博客指出这可能是这个版本的一个BUG,所以想咨询一下具体会是什么原因。

    辅助副本的错误信息如下:
    2019-06-12 03:09:05.05 spid27s     Error: 802, Severity: 17, State: 2.
    2019-06-12 03:09:05.05 spid27s     There is insufficient memory available in the buffer pool.
    2019-06-12 03:09:05.05 spid27s     Error: 802, Severity: 17, State: 2.
    2019-06-12 03:09:05.05 spid27s     There is insufficient memory available in the buffer pool.
    2019-06-12 03:09:05.05 spid27s     Error: 3313, Severity: 17, State: 2.
    2019-06-12 03:09:05.05 spid27s     During redoing of a logged operation in database 'TESTDB', an error occurred at log record ID (1952:1246861:50). Typically, the specific failure is previously logged as an error in the Windows Event Log service. Restore the database from a full backup, or repair the database.
    2019-06-12 03:09:05.05 spid27s     AlwaysOn Availability Groups data movement for database 'TESTDB' has been suspended for the following reason: "system" (Source ID 2; Source string: 'SUSPEND_FROM_REDO'). To resume data movement on the database, you will need to resume the database manually. For information about how to resume an availability database, see SQL Server Books Online.

    2019年6月17日 5:09

全部回复

  • Seems memory pressure related. How much memory does secondary sql have? How much memory allocated to sql on it?
    2019年6月17日 12:06
  • 檲一下SQL Server最大内存限制
    2019年6月18日 1:37
  • 看上去有一条数据库内存相关的报错,请问这2台机器内存使用率是多少?可以尝试限制数据库最大内存,并且重启一下sqlserver服务。
    2019年6月18日 4:27
  • Hi kaiden_wu,

     

    你可以使用下面代码查看当前sql server使用内存情况:

    SELECT 

    (physical_memory_in_use_kb/1024) AS Memory_usedby_Sqlserver_MB, 

    (locked_page_allocations_kb/1024) AS Locked_pages_used_Sqlserver_MB, 

    (total_virtual_address_space_kb/1024) AS Total_VAS_in_MB, 

    process_physical_memory_low, 

    process_virtual_memory_low 

    FROM sys.dm_os_process_memory;

     

    使用这些代买适当增加max server memory,并且重启sql server

     

    sp_configure 'show advanced options', 1;

    GO

    RECONFIGURE;

    GO

    sp_configure 'max server memory', 4096;-- 你想设置的大小

    GO

    RECONFIGURE;

    GO

     

    Hope this could help you .

    Best regards,

    Dedmon Dai


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com

    2019年6月18日 9:10
  • 数据库的最大内存已经设置,并且本机内存总量很大;

    日常使用服务器的内存占用量比较小而且稳定,从监控上看,近30天的资源使用情况:cpu、内存、磁盘、网络的使用情况都平稳且正常。

    2019年6月24日 10:14
  • 出于我的经验,运行群集+alwayson的服务器,留给windows的内存要不小于8G。你看看你sqlserver的最大内存设置的值是否给windows server留了足够多的内存。
    2019年11月29日 3:47