Microsoft distribuye las correcciones de Microsoft SQL Server 2008 como un archivo descargable. Dado que las correcciones son acumulativas, cada nueva versión contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección de SQL Server 2008 anterior.
Síntomas
En una aplicación, usa el controlador de cliente nativo de SQL Server 2008. Se llama a la función SQLBindParameter para enlazar un parámetro de un tipo de datos de carácter ancho para una consulta. Por ejemplo, enlaza un parámetro del tipo de datos NCHAR o del tipo de datos NVARCHAR. La aplicación pasa un valor mayor que 4000 al parámetro ColumnSize de la función SQLBindParameter. Al ejecutar la consulta en la aplicación, recibirá el siguiente mensaje de error:
Nota
El flujo de protocolo de llamada a procedimiento remoto (RPC) del flujo de datos tabulares (TDS) entrante es incorrecto. Parámetro 1 (""): El tipo de datos 0xE7 tiene una longitud de datos o una longitud de metadatos no válida.
Nota Este mensaje de error es un mensaje de error del lado servidor. Si la aplicación usa el controlador SQL Server 2005 Native Client en su lugar, recibirá el siguiente mensaje de error en el lado cliente según lo esperado:
Nota
[Microsoft][SQL Native Client]Valor de precisión no válido
Causa
Este problema se produce porque el controlador SQL Server 2008 Native Client no realiza una comprobación en tiempo de ejecución del tamaño de la columna de entrada para la función SQLBindParameter. Además, el controlador duplica el tamaño de columna si el tamaño de columna de entrada es mayor que 4000 y el parámetro es un tipo de datos de caracteres anchos. Por lo tanto, SQL Server devuelve un error de servidor que indica que el parámetro supera el límite superior (8000).
Nota: El controlador SQL Server 2005 Native Client realiza una comprobación en tiempo de ejecución del tamaño de la columna de entrada. Por consiguiente, si el tamaño de la columna de entrada es mayor que 8000, el controlador de SQL Server 2005 Native Client devuelve un error de cliente.
Resolución
La corrección para este problema se publicó por primera vez en la actualización acumulativa 3 para SQL Server 2008 Service Pack 1. Para obtener más información acerca de este paquete de actualizaciones acumulativas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
971491 paquete de actualización acumulativa 3 para SQL Server 2008 Service Pack 1Nota Dado que las compilaciones son acumulativas, cada nueva corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2008. Microsoft recomienda que se plantee la posibilidad de aplicar la versión de corrección más reciente 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:
970365 Compilaciones de SQL Server 2008 que se publicaron después de SQL Server 2008 Service Pack 1
Las revisiones de Microsoft SQL Server 2008 se crean para Service Pack de SQL Server específicos. Debe aplicar una revisión de SQL Server 2008 Service Pack 1 a una instalación de SQL Server 2008 Service Pack 1. De forma predeterminada, cualquier revisión que se proporcione 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 que se enumeran en la sección "Aplicable a".
Referencias
Para obtener más información acerca del modelo de servicio incremental para SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
935897 Un modelo de servicio incremental está disponible en el equipo de SQL Server para entregar revisiones para problemas detectados
Para obtener más información acerca del esquema de nomenclatura de las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
822499 Nuevo esquema de nomenclatura de los paquetes de actualización de software de Microsoft SQL Server
Para obtener más información acerca de la terminología relativa a las actualizaciones de software de Microsoft, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684 Descripción de la terminología estándar que se usa para describir las actualizaciones de software de Microsoft