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 

Compartir en...Tweet about this on TwitterPin on Pinterest0Share on LinkedIn0Share on Google+0Share on Facebook0