Microsoft distribuye las correcciones de Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) 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 la actualización de SQL Server 2008 R2 Service Pack 1 (SP1).
Síntomas
Imagine la siguiente situación:
-
Tiene una aplicación cliente que ejecuta una consulta en Microsoft SQL Server 2008 R2 o en Microsoft SQL Server 2012.
-
La consulta usa la cláusula for XML en el modo de ruta de acceso .
-
La consulta ejecuta el comando SET NO_BROWSETABLE on para habilitar el valor NO_BROWSETABLE .
En este escenario, la consulta no se ejecuta. Además, recibe el siguiente mensaje de error en la aplicación cliente y se genera un archivo de minivolcado en el registro de errores de SQL.
Mensaje 0, nivel 11, estado 0, línea 0A se produjo un error grave en el comando actual. Los resultados, si los hay, se deben descartar. Mensaje 0, nivel 20, estado 0, línea 0A se produjo un error grave en el comando actual. Los resultados, si los hay, se deben descartar.
Notas
-
No se compila un plan de consulta que se usa para ejecutar la consulta.
-
No hay eventos del analizador para la consulta fallida al iniciar el perfil de SQL Server.
-
Cuando se produce este problema, el servicio de SQL Server se cierra de forma intermitente.
Causa
Este problema se produce debido a un error interno en la algebrizer de SQL Server. Este problema se produce cuando SQL Server intenta agregar columnas que se extraen de un lado del nodo operador de combinación al otro lado del nodo operador de combinación. Por lo tanto, se crea un árbol algebrizer no válido porque las columnas definidas en un lado del nodo operador de combinación no están visibles en el otro lado del nodo operador de combinación.
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 3 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:
2723749 Paquete de actualización acumulativa 3 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.
Service Pack 2 de SQL Server 2008 R2
La corrección para este problema se publicó por primera vez en la actualización acumulativa 1 para SQL Server 2008 R2 Service Pack 2. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2720425 Paquete de actualización acumulativa 1 para SQL Server 2008 R2 Service Pack 2Nota 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. 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:
2730301 Las compilaciones de SQL Server 2008 R2 que se publicaron después de que se publicó SQL Server 2008 R2 Service Pack 2
Paquete de actualización acumulativa 7 para SQL Server 2008 R2 SP1
La corrección para este problema se publicó por primera vez en la actualización acumulativa 7 para SQL Server 2008 R2 Service Pack 1. 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:
2703282 Paquete de actualización acumulativa 6 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. 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:
2567616 Las compilaciones de SQL Server 2008 R2 que se publicaron después de que se publicó SQL Server 2008 R2 SP1 Se crean revisiones de Microsoft SQL Server 2008 R2 para determinados Service Pack de SQL Server. Debe aplicar una revisión de SQL Server 2008 R2 Service Pack 1 a una instalación de SQL Server 2008 R2 Service Pack 1. De forma predeterminada, cualquier Hotfix proporcionado en un Service Pack de SQL Server se incluye en el siguiente Service Pack de SQL Server.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".
Solución alternativa
Para solucionar este problema, use uno de los métodos siguientes.
Método 1
No use la cláusula for XML en el modo de ruta de acceso .
Método 2
Ejecute el siguiente comando para deshabilitar la configuración de NO_BROWSETABLE :
ESTABLECER NO_BROWSETABLE DESHABILITADO
Referencias
Para obtener más información sobre el modo de exploración, visite el siguiente sitio web de MSDN:
Información general sobre el modo de exploraciónPara obtener más información sobre cómo usar el modo de ruta de acceso con la cláusula FOR XML, vaya al siguiente sitio web de MSDN: