Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Como Conectarse desde un motor de base de datos SQL SERVER a otro motor SQL Remoto

Estas en el tema de Como Conectarse desde un motor de base de datos SQL SERVER a otro motor SQL Remoto en el foro de SQL Server en Foros del Web. Buenos dias... Necesito crear un procedimiento almacenado que haga lo siguiente: consultar los datos de varias tablas del motor de base de datos local y ...
  #1 (permalink)  
Antiguo 15/07/2009, 09:01
 
Fecha de Ingreso: mayo-2009
Mensajes: 34
Antigüedad: 14 años, 11 meses
Puntos: 0
Como Conectarse desde un motor de base de datos SQL SERVER a otro motor SQL Remoto

Buenos dias...
Necesito crear un procedimiento almacenado que haga lo siguiente:
consultar los datos de varias tablas del motor de base de datos local y luego conectarse desde el mismo procedimiento a otro equipo que también tiene su propio motor de base de datos para insertar los datos que consulté desde el motor local..
Tengo entendido que la información que necesito es la de la ip del equipo que cuenta con una ip publica, un nombre de usuario y contraseña para acceder a la base de datos remota. el problema es que no se la manera de conectarme a esa base de datos desde el procedimiento almacenado. Por favor si alguien me puedo ayudar se lo agradezco mucho.
  #2 (permalink)  
Antiguo 15/07/2009, 09:45
 
Fecha de Ingreso: octubre-2005
Mensajes: 180
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Como Conectarse desde un motor de base de datos SQL SERVER a otro motor SQ

Lo primero que tienes que hacer es abrir el SQL Server Management para corroborar que con tu usuario y contraseña puedes entrar a dicho server, para posteriormente crear vinculación entre los dos servidores o menor conocido como linked server. El linked server lo puedes hacer en tu server local y hay dos formas de hacerlo: por diseño o por código (si lo quieres crear al mismo tiempo en tu sp).

Te dejo un link de como se crea:

http://books.google.com.mx/books?id=...esult&resnum=9


Una vez creado el linked server procedes con una consulta como esta para ver que realmente funcione:

Código:
Select * from miservervinculado.Basededatos.dbo.tabla
o bien si los nombres de tus tablas usa caracteres especiales o cualquier otro elemento puedes usar corchetes:

Código:
Select * from [miservervinculado].[Base_de_datos].[dbo].[mi-tabla]
Cabe mencionar que el dbo es el rule (permisos y funciones) que tiene el usuario para interactuar con la bd (dbo permite crear,modificar, borrar etc.).

SAlu2.
__________________
El conocimiento se alimenta de la repeticion y la consistencia!!! (Miguel--in-- 1983---....)
  #3 (permalink)  
Antiguo 15/07/2009, 11:04
 
Fecha de Ingreso: mayo-2009
Mensajes: 34
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Como Conectarse desde un motor de base de datos SQL SERVER a otro motor SQ

miguelillo2... muchas gracias por la respuesta.
ya cree el servidor vinculado como decía en el libro que me pasaste pero tengo un problema. cuando hago la consulta me sale el siguiente error:

El proveedor OLE DB "SQLNCLI" para el servidor vinculado "190.144.249.76" devolvió el mensaje "Ha finalizado el tiempo de espera de inicio de sesión".
El proveedor OLE DB "SQLNCLI" para el servidor vinculado "190.144.249.76" devolvió el mensaje "Error al establecer conexión con el servidor. Cuando se conecta con SQL Server 2005, la configuración predeterminada de SQL Server no permite conexiones remotas.".
Mens. 126, Nivel 16, Estado 1, Línea 0
Proveedor de VIA: No se puede encontrar el módulo especificado.

el servidor remoto está en otra ciudad diferente a la ciudad en que me encuentro y tiene una ip publica. ¿En que parte de la configuracion del servidor vinculado podría especificarle a cual ip o equipo se va a conectar?
porque es que así de que manera podría ir a conectarse y hacer la consulta en ese servidor?
  #4 (permalink)  
Antiguo 16/07/2009, 10:28
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Como Conectarse desde un motor de base de datos SQL SERVER a otro motor SQ

Con el permso, el mensaje es bastante claro

"SQL Server no permite conexiones remotas"

Debes configurar tus conexiones remotas, puertos y protocolos en tu SAC, busca en este mismo foro.
  #5 (permalink)  
Antiguo 16/07/2009, 17:49
Avatar de Valery-Net  
Fecha de Ingreso: agosto-2008
Mensajes: 694
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Como Conectarse desde un motor de base de datos SQL SERVER a otro motor SQ

Cita:
"SQL Server no permite conexiones remotas"
Ese error es muy generico, aparece cuando el servidor no permite conexiones remotas, el puerto del mismo está bloqueado e incluso cuando el nombre del servidor es errado.
  #6 (permalink)  
Antiguo 17/07/2009, 11:33
 
Fecha de Ingreso: octubre-2005
Mensajes: 180
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Como Conectarse desde un motor de base de datos SQL SERVER a otro motor SQ

Hola Alveol85,

Como tu servidor está en un punto diferente a tu red local; lo que puedes hacer primeramente es saber si ese servidor esta directamente concetado a una ip publica (aunque lo dudo, ya que por seguridad se recomienda dejar los servidores de BD detrás de un dominio y por ende detrás de un firewalls). Si es así lo único que tienes que hacer es tratar de entrar por acceso remoto a ese servidor o pedirle a alguien que esté en esa ciudad (donde está el Server remoto) que en la configuración de los protocolos habilite los denominados TCP/IP (Para accesar mediante la ip publica) o Named Pipes (Para acceder mediante el nombre publico o dns), estos protocolos los puedes habilitar en el sql server configuration manager (si es 2005) o Sql Server Network Utilities (si es 2000). Una vez hayas o hayan habilitado los protocolos lo que prosigue es revisar si el server acepta conexiones remotas; para ello hay que ir a Sql sever e ir a la opciión que dice Configuration Tools, ahi seleccionas SQL server 2005 surface Area Configuration y buscas la opcion que dice remote conections y le das clic en el botocito que dice local and remote conections y listo, en sql server 2000 entras al enterprise manager, le das el servidor local (en caso de que alguien te ayude a configurar el server remoto) , propiedades y buscas una pesataña que diga conections y palomeas una opción que diga allow other sql servers to connect remotely to this sql server using rpc. (Verifica que el servicio de RPC este arriba).

Una vez allas echo todo esto necesitas reiniciar el servicio de SQL y listo. Para corroborar que haya quedado, desde tu server local (tu ciudad) intenta conectarte a través del administrador de sql al servidor remoto (el que esta en la otra ciudad) para ver que realmente los protocolos y la conexion remota del server remoto esten ok.

Por seguridad se recomienda dejar el servidor de datos detrás de un dominio y por ende para acceder via internet lo haces a través de un usuario de ese dominio. Esto lo puedes lograr a través de un vpn.

Saludos cordiales.
__________________
El conocimiento se alimenta de la repeticion y la consistencia!!! (Miguel--in-- 1983---....)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:48.