Una segunda réplica de AlwaysOn deja de funcionar o genera el error 3961 cuando la base de datos AlwaysOn tiene CLR UDT en 2014 de SQL Server

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 3042370
Síntomas

Considere el siguiente escenario:
  • Para habilitar la característica grupos de disponibilidad AlwaysOn en 2014 de Microsoft SQL Server.
  • La base de datos AlwaysOn tiene un tipo definido por el usuario de datos de common language runtime (CLR) (UDT). Además, el mismo CLR UDT existe en más de una base de datos.
  • Ejecutar una consulta que incluye varias bases de datos con el CLR UDT.
En este escenario, se produce un error de infracción de acceso en la réplica de secundaria y la instancia de SQL Server se bloquea con el mensaje siguiente en el registro de errores de SQL Server:
2015-02-17 13:07:36.85 spid27s cerrando la base de datos debido a la excepción 2905 durante el procesamiento de confirmación VLR.

2015-02-17 13:07:36.85 spid27s Error: 3449, gravedad: 21, estado: 1.2015-02-17 spid27s 13:07:36.85 de SQL Server debe cerrarse para recuperar una base de datos (database ID 2). La base de datos es una base de datos de usuario no se pudo cerrar o una base de datos del sistema. Reinicie SQL Server. Si se produce un error en la base de datos para recuperarse después de otro inicio, reparar o restaurar la base de datos.
Además, recibirá el siguiente mensaje de error en la base de datos de réplica secundario y el error no desaparecerá hasta que reinicie SQL Server:
Msj 3961, nivel 16, estado 1, línea 3
Error en la base de datos de transacción de aislamiento de instantánea 'DatabaseName> ' porque el objeto de acceso a la instrucción ha sido modificado por una instrucción DDL en otra transacción simultánea desde el inicio de esta transacción. No está permitido porque los metadatos no son versiones. Una actualización simultánea de metadatos puede conducir a incoherencias si se mezcla con el aislamiento de instantánea.


Solución

Información sobre la actualización acumulativa

El problema se solucionó primero en la siguiente actualización acumulativa de SQL Server.

Recomendación: Instale la actualización acumulativa más reciente para SQL Server
Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y todas revisiones de la seguridad que se incluyeron en la actualización acumulativa anterior. Se recomienda que descargar e instalar las actualizaciones acumulativas más recientes para SQL Server:

Información de actualización

Para resolver este problema, aplique la actualización KB 3043788: Un paquete de actualización de revisión a petición está disponible para SQL Server de 2014.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 3042370 - Última revisión: 06/25/2015 09:31:00 - Revisión: 3.0

Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3042370 KbMtes
Comentarios