Síntomas
Tenga en cuenta el siguiente escenario:
- Está utilizando Microsoft SQL Server 2016, 2014 o 2012.
- Tiene una base de datos que forma parte del grupo de disponibilidad AlwaysOn.
- En la réplica principal, se reducen los archivos de base de datos para reducir su tamaño.
- La réplica principal envía todos los cambios registrados en el registro de transacciones a la réplica secundaria.
- En la réplica secundaria, los subprocesos de puesta al día aplican los cambios del registro de transacciones a la base de datos que forma parte del grupo de disponibilidad.
En este escenario, la réplica se suspende.
Además, puede recibir un mensaje de error similar al siguiente:
Nota
<
> marca de tiempo spid41s Error: 3456, Gravedad: 21, Estado: 1.
<
> marca de tiempo spid41s No se pudo rehacer el registro de registro (#), para el id. de transacción (#), en la página (#), la base de datos '<dbname>' (id. de base de datos #). Página: LSN = (#), unidad de asignación = #, tipo = #. Log: OpCode = #, context #, PrevPageLSN: (#). Restaure a partir de una copia de seguridad de la base de datos o repare la base de datos.
<Marca> de tiempo SPID41S Grupos de disponibilidad AlwaysOn El movimiento de datos de la base de datos "<dbname>" se ha suspendido por el siguiente motivo: "system" (Source ID 2; Cadena de origen: 'SUSPEND_FROM_REDO'). Para reanudar el movimiento de datos en la base de datos, tendrá que reanudar la base de datos manualmente. Para obtener información acerca de cómo reanudar una base de datos de disponibilidad, consulte los Libros en pantalla de SQL Server.
<
> marca de tiempo spid41s Error: 3313, Gravedad: 21, Estado: 2.Marca<> de tiempo spid41s Durante la repetición de una operación registrada en la base de datos "<dbname>", se produjo un error en el Id. de registro (#). Normalmente, el error específico se registra anteriormente como un error en el servicio Registro de eventos de Windows. Restaure la base de datos a partir de una copia de seguridad completa, o repare la base de datos.
Causa
Este problema se produce cuando se aplican cambios durante el proceso de puesta al día si el motor de base de datos encuentra LSN desordenados en las páginas del sistema (GAM, PFS).
Resolución
Este problema se corrigió por primera vez en la siguiente actualización acumulativa de SQL Server:
- Actualización acumulativa 1 para SQL Server 2016
- Actualización acumulativa 8 para SQL Server 2014 SP1
- Actualización acumulativa CU 3 para SQL Server 2012 SP3
- Actualización acumulativa 15 para SQL Server 2012 SP2
Recomendación: instalar la actualización acumulativa más reciente para SQL Server
Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Se recomienda descargar e instalar las actualizaciones acumulativas más recientes para SQL Server:
- Actualización acumulativa más reciente para SQL Server 2016
- Actualización acumulativa más reciente para SQL Server 2014 SP1
- Actualización acumulativa más reciente para SQL Server 2012 SP3
- Actualización acumulativa más reciente para SQL Server 2012 SP2
La actualización impide que se produzca este problema. Si el problema ya se ha producido, siga estos pasos para volver a unirse al grupo de disponibilidad AlwaysOn:
- Quite la réplica secundaria de AlwaysOn existente.
- Ejecute el siguiente comando en los archivos de datos afectados para quitar el espacio no asignado de la base de datos:
DBCC SHRINKFILE(<file_id>, TRUNCATEONLY) - Haga una copia de seguridad de la base de datos y los archivos de registro.
- Restaure la base de datos y los registros en la réplica secundaria AlwaysOn.
- Únase al grupo de disponibilidad AlwaysOn.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".
Referencias
Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.