Síntomas
Tenga en cuenta el siguiente escenario:
- Puede usar Microsoft SQL Server 2012 o SQL Server 2014.
- Tiene una base de datos que tiene habilitado el agente de servicio en la réplica principal.
- Haga una copia de seguridad de la base de datos en el servidor principal que tiene habilitado service broker y restaure en el servidor secundario.
- Como parte de la definición del grupo de disponibilidad entre los servidores principal y secundario, intenta unir la base de datos al grupo de disponibilidad mediante el asistente Nuevo grupo de disponibilidad o el comando:
ALTER DATABASE <dbname> SET HADR AVAILABILITY GROUP = <agname>
En este escenario, se registra el siguiente error en SQL Server registro de errores:
Nota
{
Error: 3449, Gravedad: 21, Estado: 1.
SQL Server deben apagarse para recuperar una base de datos (id. de base de datos 1). La base de datos es una base de datos de usuarios que no se pudo cerrar o una base de datos del sistema. Reinicia el SQL Server. Si la base de datos no se puede recuperar después de otro inicio, reparar o restaurar
El seguimiento SQL se detuvo debido al apagado del servidor. Id. de seguimiento = '1'. Solo se trata de un mensaje informativo; no es necesaria ninguna acción del usuario.
}
Causa
El problema se produce porque si se realiza una copia de seguridad de una base de datos habilitada para service broker y se restaura en el servidor secundario, el agente de servicios de la base de datos restaurada no está habilitado. La base de datos mantiene un id. de agente de servicio internamente.
Al agregar la base de datos restaurada en el servidor secundario al grupo de disponibilidad, el agente de servicio está habilitado. Se detecta el mismo GUID en la base de datos de disponibilidad y se produce el siguiente error (de forma silenciosa):
9772 "El Service Broker en la base de datos "<dbname>" no se puede habilitar porque ya hay un Service Broker habilitado con el mismo ID".
Como resultado, se produce el error 3449, ya que la base de datos se une al grupo de disponibilidad y hace que el servidor SQL se cierre inesperadamente.
Resolución
El problema se corrigió por primera vez en la siguiente actualización acumulativa de SQL Server.
Actualización acumulativa 1 para SQL Server 2014 /help/2931693
Actualización acumulativa 9 para SQL Server 2012 SP1 /help/2931078
Acerca de las actualizaciones acumulativas para SQL Server
Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Echa un vistazo a las últimas actualizaciones acumulativas de SQL Server:
- Actualización acumulativa más reciente de SQL Server 2014
- Actualización acumulativa más reciente para SQL Server 2012 SP1
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".