Tengo algunos espejos de Microsoft SQL Server 2012, sin un testigo en modo asíncrono, que se desconectan esporádicamente. Estoy ejecutando SQL Server 2012 11.0.5058. Mirando los registros en el lado del espejo veo
Error al asignar BUF: FAIL_BUFFER_ALLOCATION 1
Hay un montón de mensajes de dependientes de memoria
Error: 802, gravedad: 17, estado: 0.
No hay suficiente memoria disponible en el grupo de búferes.
Error: 1454, gravedad: 16, estado: 1.
Se duplicará la duplicación de la base de datos. La instancia del servidor 'instancia' encontró el error 802, estado 0, gravedad 17 cuando actuaba como un socio reflejado para la base de datos 'base de datos'. Los socios de creación de reflejo de la base de datos pueden intentar recuperarse automáticamente del error y reanudar la sesión de creación de reflejo. Para obtener más información, vea el registro de errores para ver mensajes de error adicionales.
Se agradecería cualquier ayuda sobre qué verificar para averiguar por qué los espejos quedan suspendidos y luego desconectados después de esta cadena de eventos. Puedo restablecer los espejos después de esto y funcionan bien durante un par de días y luego vuelve a suceder.
fuente
11.0.5048
suena incorrecta?Respuestas:
Experimenté un problema muy similar en mi empresa anterior. La duplicación de la base de datos se suspendía periódicamente con el mismo error que está recibiendo. La duplicación nunca se volvió a conectar por sí sola, pero generalmente pude reanudarla usando:
Después de algunas semanas, descubrimos que, aunque había suficiente memoria en el servidor y suficiente memoria asignada a la instancia, nuestra carga de trabajo se distribuía de manera muy desigual y, a veces, se usaba el 100% de la memoria. Como la mayoría de las veces teníamos suficiente memoria, no estábamos autorizados a comprar más. Terminé aumentando el archivo de extensión de la agrupación de almacenamiento intermedio y colocándolo en uno de los SSD que tenía suficiente espacio vacío para acomodarlo. El problema con la duplicación nunca volvió. No puedo garantizar que lo mismo funcione para usted, principalmente estoy compartiendo mi experiencia.
fuente
Pocas preguntas para hacer y comenzar a solucionar problemas
1. Cuántas bases de datos está duplicando
2. Cuánta RAM está disponible para el servidor SQL
3. ¿Cuál es el tamaño de la base de datos duplicada?
A continuación se presentan las estimaciones aproximadas de los requisitos de duplicación cuando la duplicación está habilitada
en Prinicipal:
4 MB por base de datos para buffers de envío DBM más 4 MB para buffers de escritura de registro
En el espejo:
1 MB para búferes de escritura de registro y 1 MB para búfer de REDO de registro
También puede verificar el consumo de memoria por DB en la instancia espejo para ver qué base de datos es el cuello de botella y comenzar a solucionar problemas
Utilización de memoria por base de datos - SQL Server
fuente