Blog gratis
Reportar
Editar
¡Crea tu blog!
Compartir
¡Sorpréndeme!
img
img

 

 

SQL Server
Blog. (Apuntes y Recopilaciones) por Norman M. Pardell

img
img

MDAC trabajando con Shared Memory (SM), TCP/IP o Named Pipes (NP). SQL Server.

Veamos cada caso según estén habilitados o no, los protocolos Shared Memory (SM), TCP/IP y Named Pipes (NP).

Los casos siguientes cubren los casos de clientes MDAC 2.8/2.81/2.82 conectándose a SQL Server 2005/2008 instalado en Windows 2000/2003/XP.

Para el buen entendimiento de este articulo se recomienda la lectura de: Solución de problemas en la conexión a SQL Server 2005/2008.

CASO 1: Solamente está habilitado SM

Diagnósticos:

1.1. Se especificó el prefijo “tcp:” en el string de conexión, pero TCP/IP no está habilitado. Para solucionar esto, quitar el prefijo o habilitar TCP/IP.

1.2. Se especificó el prefijo “np:” en el string de conexión, además se especificó como servidor “localhost”, un FQDN, “127.0.0.1” o la dirección IP. Para solucionar esto, o bien habilitar NP o especificar como servidor “nombremáquina”.

1.3. Se especificó como servidor “localhost”, un FQDN, “127.0.0.1” o la dirección IP. Para solucionar esto especificar como servidor “nombremáquina”.

1.4. Se especificó el prefijo “lpc:” en el string de conexión, además se especificó como servidor “localhost”, un FQDN, “127.0.0.1” o la dirección IP. Para solucionar esto, especificar como servidor “nombremáquina”.

1.5. Se usa el proveedor OLEDB, luego se conecta a la instancia por omisión usando “.” o “(local)”. Para solucionar esto, especificar como servidor “nombremáquina”.

CASO 2: SM y TCP/IP habilitados, NP no habilitado

Diagnósticos:

2.1. Se especificó el prefijo “np:” en el string de conexión, además se especificó como servidor “localhost”, un FQDN, “127.0.0.1” o la dirección IP. Para solucionar esto, o bien habilitar NP o especificar como servidor “nombremáquina”.

2.2. Se especificó el prefijo “lpc:” en el string de conexión, además se especificó como servidor “localhost”, un FQDN, “127.0.0.1” o la dirección IP. Para solucionar esto, especificar como servidor “nombremáquina”.

CASO 3: SM y NP habilitados, TCP/IP no habilitado

Diagnósticos:

3.1. Se especificó el prefijo “tcp:” en el string de conexión, pero TCP/IP no está habilitado. Para solucionar esto, quitar el prefijo o habilitar TCP/IP.

3.2. Se usa el proveedor OLEDB, luego se conecta a la instancia por omisión usando “.” o “(local)”. Para solucionar esto, especificar como servidor “nombremáquina”.

CASO 4: Solamente NP habilitado

Diagnósticos:

4.1. Se especificó el prefijo “tcp:” en el string de conexión, pero TCP/IP no está habilitado. Para solucionar esto, quitar el prefijo o habilitar TCP/IP.

4.2. Se usa el proveedor OLEDB, luego se conecta a la instancia por omisión usando “.” o “(local)”. Para solucionar esto, especificar como servidor “nombremáquina”.

CASO 5: Solamente TCP/IP habilitado

Diagnósticos:

5.1. Se especificó el prefijo “np:” en el string de conexión, y NP no está habilitado. Para solucionar esto, eliminar el prefijo o habilitar NP.

CASO 6: Solamente SM está habilitado

CASO 7: Todos los protocolos están habilitados

En los Casos 6 y 7 todas las conexiones deberán ser exitosas, exceptuando algunos casos especiales que mencionaremos a continuación.

Caso especial 1: localhost

Windows 2000 y Windows XP no reconocen “localhost” como un nombre representativo de máquina en NP. En otras palabras, no se puede conectar a una instancia por omisión a través del pipe explícito file:///pipe/sql/query

Por ejemplo, el string de conexión es algo como:

"Data Source = file:///pipe/sql/query; Integrated Security = SSPI"

-o-

osql /S\localhostpipesqlquery /E

Caso especial 2: Conexión a instancia local nombrada

Si no se puede identificar la causa de una conexión fallida cuando se usa MDAC para conectarse a una instancia local con nombre, hay otras dos razones posibles:

2.1. La aplicación ejecuta bajo una cuenta que no tiene permisos en la Registry de Windows donde el cliente MDAC lee. Dicha entrada es:

HKLMSOFTWAREMicrosoftMicrosoft SQL ServerinstanciaMSSQLServer

2.2. El servicio SQL Browser no está iniciado o habilitado. Intentar:

net start sqlbrowser

Caso especial 3: Conexión remota

Cuando la conexión a un servidor remoto falla y se observa algunos de los mensajes de error de más arriba, primero hay que revisar si en el servidor remoto están habilitados NP o TCP/IP, y si el servicio SQL Browser está habilitado e iniciado.

Caso especial 4: Servidor especificado en blanco

Si se usa el driver ODBC y se deja en blanco el nombre del servidor al conectarse a una instancia local, la conexión puede fallar. Para solucionarlo, especificar el nombre del servidor cada vez que se haga una conexión. El error usualmente es:

[Microsoft][ODBC SQL Server Driver]Neither DSN nor SERVER keyword supplied

Caso especial 5: "." o "(local)"

Si se usa MDAC OLEDB, no se puede conectar a una instancia local por omisión, usando “.” o “(local)” cuando TCP/IP está inhabilitado. Para solucionar esto, usar el nombre de máquina al especificar el servidor en el string de conexión.

 


(Este articulo, está realizado gracias a la colaboración de Gustavo Larriera ). Apunte y recopilación por Norman M. Pardell


Puedes consultarme, si deseas cualquier aclaración, pregunta o sugerencia en: Contacto, contestaré tan pronto como me sea posible.

publicado por normanmpardell a las 04:34 · Sin comentarios  ·  Recomendar
Comentarios (0) ·  Enviar comentario
Esta entrada no admite comentarios.
img
.Sobre mí
FOTO

Norman M. Pardell

MCITP: Database Administrator & Database Developer, SQL Server 2008. MCC Award Certificate. Consultor Senior de bases de datos en Capgemini España, S.L. Asesoramiento en implementación, desarrollo y gestión de bases de datos en grandes compañías. Actualmente, asignado a proyecto en compañía líder en el sector energético global. Más de 10 años trabajando con SQL Server (y otros gestores de BBDD)

» Ver perfil

img
.Secciones
» Inicio
img
.Enlaces
» Microsoft MSDN Foros
» Windows Server 2012
img
.Más leídos
» Asignar la cantidad correcta de Memoria para SQL Server
» Base de Datos Sospechosa (Suspect)
» Como modificar la Intercalación (Collation) en SQL Server
» Como renombrar una instancia de SQL Server. sp_dropserver. sp_addserver
» Detectar bloqueos. SQL Server V.2005 y superiores
» Funciones SQL Server. Funciones escalares y funciones con valores de tabla.
» Integridad y corrupción en las bases de datos: DBCC CHECKDB
» Log de transacciones ( .ldf ). SQL Server.
» Migrando SQL Server 2005, 2008, 2008 R2 a SQL Server 2012
» Transacciones activas. SQL server 2008
img
.Nube de tags [?]
                                                           
img img
FULLServices Network | Crear blog | Privacidad