MS-SQL Conexión a otros servidores sin utilizar Linked Server

Un post bastante sencillo. El chiste es poder conectarse a otros servidores MSSQL; consultar, borrar y actualizar registros de las tablas sin la necesidad de utilizar Linked Server.

1. Bueno, para esto tendremos que utilizar OPENDataSource,

2. Activar show advanced options en el servidor donde se va a ser la consulta

sp_configure 'show advanced options', 1;
RECONFIGURE;

3. Activar Ad Hoc Distributed Queries en el servidor donde se va a ser la consulta

sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;

4. Realizar la consulta

SELECT *
FROM OPENDataSource('SQLOLEDB','Data Source=192.168.1.1;User ID=sa;Password=noselosvoyadar;').miBaseDatos.miEsquema.miTabla

Para complementar el post. Lamentablemente OPENDataSource no acepta variables como parámetros. Para eso es necesario hacer lo siguiente:

DECLARE @SQL nvarchar(MAX)
BEGIN
  SET @SQL = N'select top 15 * from OPENDataSource( ' + CHAR(39) + 'SQLOLEDB' + CHAR(39) + ', ' + CHAR(39) + 'Data Source=192.168.1.1;User ID=sa;Password=noselosvoyadar' + CHAR(39) + ').miBaseDatos.miEsquema.miTabla'
  EXECUTE sp_executesql @SQL
END

Analista/Desarrollador y cofundador de QBit Mexhico. Tecnologías utilizadas Android, Java (EJB, Servlets, Faces, Groovy & Grails, Maven, Swing), .Net (C#, VB, ASP, MVC), Delphi, Spring, Hibernate, DTSx, Oracle, T-SQL, Firebird, MySQL, MongoDB, NodeJs, ReactJs (Flux). Sistemas Operativos Mac, Ubuntu y Windows.

Twitter LinkedIn 

One thought on “MS-SQL Conexión a otros servidores sin utilizar Linked Server

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *