error para accesar servidores sql distribuidos

16/07/2006 - 05:13 por Miguel Angel Juárez Herrera | Informe spam
saludos, yo uso varios servidores sql distribuidos, y a veces es un rollo el
poder hacer conexiones y desconeciones y ejecutar queries.
ahora bien, hice lo siguiente:
1.- cree en mi base local una tabla con datos de cada servidor al que
acceso: ip, nombre, datos varios, etc..
2.- uso los procedimientos almacenados sp_addlinked server y
sp_addlinkedsrvlogin y entonces registro lo hago usando el siguiente script
:
set @vServer = 'D624'
SELECT @vData = 'DBMSSOCN,' + @Ip
EXEC maSTER..XP_REGWRITE 'HKEY_LOCAL_MACHINE',
'SOFTWARE\MICROSOFT\MSSQLSERVER\CLIENT\CONNECTTO', @vServer , 'REG_SZ', @vData
EXEC SP_ADDLINKEDSERVER @vServer, 'SQL SERVER'
EXEC SP_ADDLINKEDSRVLOGIN @vServer, FALSE, NULL, 'usuario', 'pass'

ahora bien, el problema es el siguiente.
Sin este script, simplemente entro por el ISQL dandole el servidor, el
usuario y clave, y puedo entrar.
ahora bien por este script, desde mi misma sesión puedo accesar al serrvidor
que sea por ejemplo : en vez de entrar al servidor 192.168.1.1 con el sa en
el ISQL y ejecutar select * from clientes
desde mi otra sesión donde están registrados le digo:
select * from D620.mibase.dbo.clientes
select * from D621.mibase.dbo.clientes
select * from D622.mibase.dbo.clientes
select * from D623.mibase.dbo.clientes
select * from D624.mibase.dbo.clientes
y me ejecuta desde ahi mismo todo.
el problema es el siguiente, que por ejemplo el servidor D624 me marca el
error :

Servidor: mensaje 17, nivel 16, estado 1, línea 1
No existe el servidor SQL Server o se ha denegado el acceso al mismo.

y si abro una sesion en isql con los mismos datos de servidor, ip, usuario y
password si entra, esto me ha pasado con 2 o tres, pero no se que es, alguien
me podría auxiliar ?... gracias
Miguel Angel Juárez Herrera.
Programador (VB6 y SQL 2000).
PEPSICOLA SUR MEXICO
 

Leer las respuestas

#1 Maxi
16/07/2006 - 15:44 | Informe spam
Hola cuando hablas que con ISQL funciona, que es exactamente lo que
ejecutas? o sea: el mismo script o te conectas de forma directa a los
servidores? tu problema tiene relacion con permisos de seguridad y como
estan vinculados esos servidores, estas usando seguridad integrada de
windows? o de sql?



Salu2

Microsoft MVP SQL Server
www.sqlgururs.org
Email:


"Miguel Angel Juárez Herrera" <majuarezh(antispam)@bancoazteca.com.mx> wrote
in message news:
saludos, yo uso varios servidores sql distribuidos, y a veces es un rollo
el
poder hacer conexiones y desconeciones y ejecutar queries.
ahora bien, hice lo siguiente:
1.- cree en mi base local una tabla con datos de cada servidor al que
acceso: ip, nombre, datos varios, etc..
2.- uso los procedimientos almacenados sp_addlinked server y
sp_addlinkedsrvlogin y entonces registro lo hago usando el siguiente
script
:
set @vServer = 'D624'
SELECT @vData = 'DBMSSOCN,' + @Ip
EXEC maSTER..XP_REGWRITE 'HKEY_LOCAL_MACHINE',
'SOFTWARE\MICROSOFT\MSSQLSERVER\CLIENT\CONNECTTO', @vServer , 'REG_SZ',
@vData
EXEC SP_ADDLINKEDSERVER @vServer, 'SQL SERVER'
EXEC SP_ADDLINKEDSRVLOGIN @vServer, FALSE, NULL, 'usuario', 'pass'

ahora bien, el problema es el siguiente.
Sin este script, simplemente entro por el ISQL dandole el servidor, el
usuario y clave, y puedo entrar.
ahora bien por este script, desde mi misma sesión puedo accesar al
serrvidor
que sea por ejemplo : en vez de entrar al servidor 192.168.1.1 con el sa
en
el ISQL y ejecutar select * from clientes
desde mi otra sesión donde están registrados le digo:
select * from D620.mibase.dbo.clientes
select * from D621.mibase.dbo.clientes
select * from D622.mibase.dbo.clientes
select * from D623.mibase.dbo.clientes
select * from D624.mibase.dbo.clientes
y me ejecuta desde ahi mismo todo.
el problema es el siguiente, que por ejemplo el servidor D624 me marca el
error :

Servidor: mensaje 17, nivel 16, estado 1, línea 1
No existe el servidor SQL Server o se ha denegado el acceso al mismo.

y si abro una sesion en isql con los mismos datos de servidor, ip, usuario
y
password si entra, esto me ha pasado con 2 o tres, pero no se que es,
alguien
me podría auxiliar ?... gracias
Miguel Angel Juárez Herrera.
Programador (VB6 y SQL 2000).
PEPSICOLA SUR MEXICO

Preguntas similares