Los clientes de SQL Server pueden cambiar protocolos cuando los equipos cliente intentan conectarse a una instancia de SQL Server

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

En esta página

Resumen

Los equipos cliente que tienen Microsoft Data Access Components (MDAC) versión 2.6 o posterior, pueden probar varios protocolos o comunicación entre procesos Mecanismos (IPC) para establecer conexiones con SQL Server.

Más información

Se realizó una mejora a la biblioteca de red del cliente, Dbnetlib.dll para MDAC versión 2.6 y versiones posterior. Con MDAC versión 2.6 y más adelante, si hay varios protocolos están disponibles y se produce un error en un intento de conexión con el primer protocolo, la aplicación cliente intenta utilizar uno de los otros protocolos inmediatamente.

De forma predeterminada, los clientes tienen TCP y canalizaciones con nombre como protocolos disponibles. Puede manipular el protocolo de ordenación mediante la utilidad de cliente de SQL Server. La aplicación cliente usa los protocolos en el orden especificado en el equipo cliente. El orden de los protocolos se almacena en la siguiente ubicación de la clave del registro en el valor ProtocolOrder:
HKLM\Software\Microsoft\MSSQLServer\Client\SuperSocketNetLib

Si está utilizando SQL Server 2005, el orden de los protocolos se almacena en la entrada de registro de ProtocolOrder bajo la subclave del registro siguiente:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0


Por ejemplo, si un equipo cliente tiene TCP y canalizaciones con nombre disponibles, y el orden es:
  • TCP
  • Canalizaciones con nombre
Cuando el equipo cliente intenta realizar una conexión TCP con el servidor y el intento de conexión devuelve un código de retorno distinto de cero, el cliente trata de forma transparente una conexión mediante el protocolo siguiente en la lista, que es de canalizaciones con nombre. En este escenario, el cliente no puede realizar una conexión de TCP; Sin embargo, el cliente realiza correctamente una conexión de canalizaciones con nombre.

Nota El cliente no recibe un error que indica un error en el primer protocolo.

Si la aplicación cliente usa el segundo Protocolo, y también devuelve un error, se devuelve un error al cliente.

Si realiza un alias utilizando uno de los métodos siguientes, la aplicación cliente utiliza la información de alias para establecer una conexión con el servidor y no utiliza los protocolos adicionales.
  • Mediante la utilidad de red de cliente de SQL Server
  • Mediante el Administrador de configuración de SQL Server (SQL Server 2005)
  • Al crear un nombre de origen de datos ODBC (DSN)
Si desea controlar el protocolo que utiliza una aplicación cliente para cada intento de conexión, y no permitir que el cliente tratar de múltiples protocolos, puede realizar una de las siguientes acciones:
  • Utilice la utilidad de red de cliente de SQL o el Administrador de configuración de SQL Server para crear un alias mediante la especificación del protocolo que prefiera.
  • Especifique el protocolo en la cadena de conexión. Por ejemplo:
    "DSN=DSNName;SERVER=servername;DATABASE=YourDataBaseName;Network=DBMSSOCN;Address=IP_Address,1433;UID=YourUID;PWD=YourPassword;"
    En este ejemplo, se especifica el protocolo de red como "DBMSSOCN", lo que significa que desea utilizar el protocolo TCP/IP. Si especifica el protocolo dentro de la cadena de conexión, Dbnetlib sólo utiliza el protocolo especificado y no trata de cualquier otro protocolo. De forma similar, para habilitar sólo el protocolo de canalizaciones con nombre, utilice una cadena de conexión similar al siguiente:
    "DSN=DSNName;SERVER=servername;DATABASE=YourDataBaseName;Network=DBNMPNTW;Address=\\.\pipe\sql\query;UID=YourUID;PWD=YourPassword;"
  • Utilice la herramienta de red de cliente para quitar otros protocolos.

REFERENCIAS

SQL Server libros en pantalla; tema: "Utilidad de red de cliente de SQL Server"

Propiedades

Id. de artículo: 328383 - Última revisión: domingo, 10 de marzo de 2013 - Versión: 6.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Palabras clave: 
kbinfo kbmt KB328383 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): 328383

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