sp_addlinkedserver [ @server = ] 'server' 然后在引用另一张表的时候用完整结构,比如 select aa,bb,cc,dd.... from EBS a,SERVER.SX1011.dbo.CUST b where .........
SELECT * FROM OPENDATASOURCE( 'SQLOLEDB', 'Data Source=机器名;User ID=用户;Password=密码' ).Northwind.dbo.Categories
SELECT a.* FROM OPENROWSET('SQLOLEDB','seattle1';'sa';'MyPass', 'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') AS a 使用Openrowset函数,然后再和本地的表格连接就可以了
建立链接服务器,或者直接使用openrowset语句
SELECT * FROM OPENDATASOURCE( 'SQLOLEDB', 'Data Source=机器名;User ID=用户;Password=密码' ).Northwind.dbo.Categories a join 表 b where a.id=b.id
使用链接服务器,在查询中引用: select * from OPENQUERY(链接服务器名, 查询字符串) 其中“查询字符串”就如同在本地查询一样编写。
或使用联结服务器: EXEC sp_addlinkedserver '别名', '', 'MSDASQL', NULL, NULL, 'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;' GO 然后你就可以如下: select * from 别名.库名.dbo.表名 insert 库名.dbo.表名 select * from 别名..库名.dbo.表名 select * into 库名.dbo.新表名 from 别名..库名.dbo.表名 go
然后在引用另一张表的时候用完整结构,比如
select aa,bb,cc,dd.... from EBS a,SERVER.SX1011.dbo.CUST b
where .........
FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=机器名;User ID=用户;Password=密码'
).Northwind.dbo.Categories
FROM OPENROWSET('SQLOLEDB','seattle1';'sa';'MyPass',
'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') AS a
使用Openrowset函数,然后再和本地的表格连接就可以了
FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=机器名;User ID=用户;Password=密码'
).Northwind.dbo.Categories a join 表 b where a.id=b.id
exec sp_addlinkedserver @server = 'svrname'
exec sp_addlinkedsrvlogin @rmtsrvname = 'svrname', @useself = 'false',@locallogin = null,@rmtuser = 'username',@rmtpassword = 'pwd'
select * from svrname.dbname.dbo.tablename
select * from
OPENQUERY(链接服务器名, 查询字符串)
其中“查询字符串”就如同在本地查询一样编写。
EXEC sp_addlinkedserver
'别名',
'',
'MSDASQL',
NULL,
NULL,
'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
GO
然后你就可以如下:
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名..库名.dbo.表名
select * into 库名.dbo.新表名 from 别名..库名.dbo.表名
go