REVISIÓN: Errores al ejecutar una consulta que utiliza la cláusula FOR XML en el modo de ruta de acceso en SQL Server 2008 R2 o en SQL Server 2012

Seleccione idioma Seleccione idioma
Id. de artículo: 2715312 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Microsoft distribuye correcciones de Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) en un archivo descargable. Debido a que las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y todas las actualizaciones de seguridad incluidas en la versión anterior de actualización de SQL Server 2008 R2 Service Pack 1 (SP1).

Síntomas

Tenga en cuenta la situación siguiente:
  • Tiene una aplicación cliente que ejecuta una consulta en Microsoft SQL Server 2008 R2 o en Microsoft SQL Server 2012.
  • La consulta utiliza la cláusula FOR XML en el modo de ruta de acceso .
  • La consulta ejecuta el comando SET NO_BROWSETABLE ON para habilitar a la configuración de NO_BROWSETABLE .
En este escenario, no se ejecuta la consulta. Además, recibirá el siguiente mensaje de error en la aplicación cliente y se genera un archivo de minivolcado en el registro de errores SQL.

Msj 0, nivel 11, estado 0, línea 0
Se ha producido un error grave en el comando actual. Los resultados, si los hay, deben descartarse.
Msj 0, nivel 20, estado 0, línea 0
Se ha producido un error grave en el comando actual. Los resultados, si los hay, deben descartarse.

Notas
  • No se compila un plan de consulta que se utiliza para ejecutar la consulta.
  • No hay ningún evento del analizador de la consulta errónea al iniciar el perfil de SQL Server.
  • Cuando se produce este problema, el servicio de SQL Server se apaga intermitentemente.

Causa

Este problema se produce debido a un error interno en el algebrizer de SQL Server. Este problema se produce cuando trata de SQL Server agregar columnas que se extraen de un lado de un nodo de operador de unión al otro lado del nodo de operador de combinación. Por lo tanto, se crea un árbol de algebrizer no válido porque las columnas definidas en un lado del nodo de operador de combinación no son visibles en el otro lado del nodo de operador de combinación.

Solución

Información de actualización acumulativa

SQL Server 2012

La solución a este problema se publicó en primer lugar en la actualización acumulativa 3 para SQL Server 2012. Para obtener más información acerca de este paquete, 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 2012
Nota Como las compilaciones son acumulativas, cada nueva versión de revisión contiene todas las revisiones y revisión de todas las revisiones incluidas en el anterior 2012 de SQL Server. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2692828 Se basa el 2012 de SQL Server que se publicaron después del lanzamiento de SQL Server 2012
Debe aplicar una revisión de 2012 de SQL Server a una instalación de SQL Server 2012.

SQL Server 2008 R2 Service Pack 2

La solución a este problema se publicó en primer lugar en la actualización acumulativa de 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 acumulativo de actualizaciones 1 para SQL Server 2008 R2 Service Pack 2
Nota Como las compilaciones son acumulativas, cada nueva versión de revisión contiene todas las revisiones y revisión de todas las revisiones incluidas en el anterior de SQL Server 2008 R2. Se recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2730301 SQL Server 2008 R2 generaciones que se publicaron después del lanzamiento de SQL Server 2008 R2 Service Pack 2

Paquete de actualización acumulativa 7 para SQL Server 2008 R2 SP1

La solución a este problema en primer lugar se publicó en la actualización acumulativa 7 para SQL Server 2008 R2 Service Pack 1. Para obtener más información acerca de este paquete, 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 SP1
Nota Como las compilaciones son acumulativas, cada nueva versión de revisión contiene todas las revisiones y revisión de todas las revisiones incluidas en el anterior de SQL Server 2008 R2. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2567616 SQL Server 2008 R2 generaciones que se publicaron después del lanzamiento de SQL Server 2008 R2 SP1
Microsoft SQL Server 2008 R2 revisiones se crean para determinados SQL Server service Pack. 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 revisión suministrada 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 enumerados en la sección "Se refiere a:".

Solución

Para evitar este problema, utilice uno de los métodos siguientes.

Método 1

No utilice la cláusula FOR XML en el modo de ruta de acceso .

Método 2

Ejecute el siguiente comando para deshabilitar a la opción NO_BROWSETABLE :

SET NO_BROWSETABLE DESACTIVADO

Referencias

Para 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ón
Para obtener más información acerca de cómo utilizar el modo de ruta de acceso con la cláusula FOR XML, visite el siguiente sitio Web de MSDN:
Cómo utilizar el modo de trazado con la cláusula FOR XML

Propiedades

Id. de artículo: 2715312 - Última revisión: miércoles, 29 de agosto de 2012 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Business Intelligence
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
Palabras clave: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2715312 KbMtes
Traducción automática
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): 2715312

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com