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 |
En caso de utilizar Autenticación de windows en ambas computadoras como hago la setencia mencionada en el punto 4