Microsoft distribuye las revisiones Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) o Microsoft SQL Server 2012 en un archivo descargable. Debido a que las correcciones son acumulativas, cada versión nueva contiene todas las revisiones y todas las actualizaciones de seguridad incluidas en la versión anterior de SQL Server 2008 R2 Service Pack 1 (SP1) o Microsoft SQL Server 2012.
Síntomas
Cuando se ejecuta una consulta paralela que contiene una función de agregado (UDA) definida por el usuario de Common Language Runtime (CLR) en Microsoft SQL Server 2008 R2, se puede producir una excepción System. NullReferenceException o una excepción System. InvalidOperationException . Además, aparece un mensaje de error similar al siguiente:
Msj 6522, nivel 16, estado 2, línea 1A error de .NET Framework durante la ejecución de una rutina o un agregado definido por el usuario "<una rutina definida por el usuario o un nombre de agregado>": System. NullReferenceException: referencia a objeto no establecida como una instancia de un objeto.
Resolución
Información sobre la actualización acumulativa
SQL Server 2012
La corrección para este problema se publicó por primera vez en la actualización acumulativa 1 para SQL Server 2012. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2679368 Paquete de actualización acumulativa 1 para SQL Server 2012Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2012. Microsoft recomienda que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2692828 Las compilaciones de SQL Server 2012 que se publicaron después de que se publicó SQL Server 2012 Debe aplicar una revisión de SQL Server 2012 a una instalación de SQL Server 2012.
Paquete de actualización acumulativa 5 para SQL Server 2008 R2 SP1
La corrección para este problema se publicó por primera vez en la actualización acumulativa 5. Para obtener más información sobre cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2 SP1, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2659694 Paquete de actualización acumulativa 5 para SQL Server 2008 R2 SP1Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2008 R2 SP1. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2567616 Las compilaciones de SQL Server 2008 R2 que se publicaron después de que se publicó SQL Server 2008 R2 SP1
Solución alternativa
Para solucionar este problema, no ejecute una consulta que use un plan de ejecución paralelo. Por ejemplo, puede establecer la opción grado máximo de paralelismo en 1 en la configuración del servidor o establecer la opción de sugerencia de consulta MAXDOP en 1.
Más información
Para obtener más información acerca de CLR ADU, visite el siguiente sitio web de MSDN:
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".