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 todas las correcciones de seguridad que se incluyeron con la versión de corrección de SQL Server 2008 anterior.
Síntomas
En un equipo que ejecuta Microsoft SQL Server 2008, se producen uno o varios de los siguientes problemas al crear un servidor vinculado mediante el proveedor SQL Native Client (Sqlncli.dll).Nota Estos problemas también se producen en Microsoft SQL Server 2005 Service Pack 3 (SP3). Sin embargo, la revisión de este artículo no se aplica a SQL Server 2005 SP3.
Problema 1
Imagine la siguiente situación:
-
En SQL Server Management Studio, abra la ventana Nuevo servidor vinculado y cree un servidor vinculado mediante una de las siguientes configuraciones:
-
Proveedor SQL Native Client con el tipo De servidor como SQL Server
-
Proveedor SQL Native Client (no SQL Native Client 10) con el tipo De servidor como Otro origen de datos
-
Proveedor OLE DB de Microsoft para SQL Server con el tipo de servidor como Otro origen de datos
-
-
Expanda el catálogo Servidores vinculados en SQL Server Management Studio para ver los servidores vinculados.
En este escenario, el servicio de SQL Server se cierra inesperadamente o se genera un archivo de volcado mínimo repetidamente en la carpeta de registro de errores de SQL Server. Este problema continúa hasta que se detiene el servicio de SQL Server. Además, SQL Server Management Studio notifica el siguiente error:TITLE: Microsoft SQL Server Management Studio------------------------------Failed para recuperar los datos de esta solicitud. (Microsoft.SqlServer.Management.Sdk.Sfc)Para obtener ayuda, haga clic en: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476------------------------------AGREGAR INFORMACIÓN:Se produjo una excepción al ejecutar una instrucción Transact-SQLTransact-SQL o un lote. (Microsoft.SqlServer.ConnectionInfo)------------------------------Timeout ha expirado. Transcurrió el periodo de tiempo de espera antes de que se completara la operación o el servidor no responde. (Microsoft SQL Server, Error: -2)Nota Este problema no se produce si ejecuta una consulta de servidor vinculado al usar el proveedor SQL Native Client con el tipo de servidor como SQL Server.
Problema 2
Imagine la siguiente situación:
-
Para crear un servidor vinculado, use el Proveedor OLE DB de Microsoft para controladores ODBC.
-
El origen de datos ODBC se crea con el proveedor SQL Native Client con el tipo Servidor como Otro origen de datos.
En este escenario, el servidor vinculado no devuelve ningún resultado.
Solución
La corrección para este problema se publicó por primera vez en la actualización acumulativa 7 para SQL Server 2008 Service Pack 1. Para obtener más información sobre este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base: -
979065Paquete de actualización acumulativa 7 para el Service Pack 1 de SQL Server 2008 Nota. Debido a que las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la versión de corrección de SQL Server 2008 anterior. Le recomendamos que considere la posibilidad de aplicar la corrección más reciente que contiene 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: -
970365Las compilaciones de SQL Server 2008 que se publicaron después de SQL Server Service Pack 1 de 2008 se publicaron revisiones de Microsoft SQL Server 2008 se crean para service packs 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, todas las revisiones que se proporcionan en un SQL Server Service Pack se incluyen en el siguiente SQL Server Service Pack.
Más información
Puede confirmar la versión de los archivos Sqlncli.dll y Sqlservr.exe ejecutando la siguiente consulta:
select * from sys.dm_os_loaded_modules where name like '%sqlncli.dll' or name like '%sqlservr.exe'
Si usa Microsoft SQL Server 2008 Service Pack 1 (SP1) o versiones posteriores de Microsoft SQL Server 2008, la consulta devolverá la siguiente información de versión:
-
El archivo Sqlncli.dll tendrá una versión posterior a la 9.0:3207.0.
-
El archivo Sqlservr.exe tendrá una versión posterior o igual a 10.0:2531.0, pero anterior a 10.0:2766.0.
Si usa Microsoft SQL Server 2008 RTM o versiones posteriores de SQL Server 2008 RTM, la consulta devolverá la siguiente información de la versión:
-
El archivo Sqlncli.dll tendrá una versión posterior a la versión 9.0:3207.0.
-
El archivo Sqlservr.exe tendrá una versión posterior o igual a 10.0:1600.0, pero anterior a 10.0:1835.0.
Solución alternativa
Para solucionar estos problemas, siga estos pasos:Solución alternativa 1:1. Elimine el servidor vinculado con errores.2. Cree un nuevo servidor vinculado con el proveedor de SQL Server Native Client 10.0 (SQLNCLI10). Para ello: a. Haz clic con el botón derecho en Servidores vinculados y selecciona Nuevo servidor vinculado. b. Seleccione Otro origen de datos y elija SQL Server Native Client 10.0 en Proveedor.Solución alternativa 2:
-
Cree una subclave del Registro denominada "SQLNCLI" en la siguiente ruta:
HKLM\Software\Microsoft\DataAccess
-
Cree una entrada del Registro de tipo REG_DWORD denominada "SQLOSPartitioning" en esta subclave.
-
Establezca el valor de esta entrada en 0x0.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Más información
|
Software de regla |
Título de regla |
Descripción de regla |
Versiones de producto para las que se ha evaluado la regla |
|
System Center Advisor |
SQL Server falta KB979779 de actualización para evitar daños en la memoria de cliente nativo de SQL |
Un proveedor de SQL Native Client que corresponde a SQL Server 2005 está presente en este servidor. Esta versión anterior de SQLNCLI.dll podría cargarse potencialmente en SQL Server 2008 y SQL Server 2008 R2 al enumerar proveedores y crear servidores vinculados. Las compilaciones específicas de SQL Server 2008 y SQL Server 2008 R2 pueden experimentar problemas y se bloquean al crear o usar un servidor vinculado creado con este SQLNCLI.dll afectado. Actualice las instancias afectadas de SQL Server 2008 y SQL Server 2008 R2 con las correcciones necesarias o evite usar este SQLNCLI.dll al crear servidores vinculados. |
Referencias
Para obtener más información sobre el modelo de mantenimiento incremental para SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
935897 El equipo de SQL Server dispone de un modelo de mantenimiento incremental para ofrecer revisiones para los problemasnotificados. Para obtener más información sobre el esquema de nomenclatura para las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
822499Nuevo esquema de nomenclatura para los paquetesde actualización de software de Microsoft SQL Server Para obtener más información sobre terminología de actualización de software, 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 utilizada para describir las actualizaciones de software de Microsoft