同一台服务器上,多个数据库之间的访问很简单,比如:
在A数据库访问B数据库的TABLE1表(A、B数据库在一台服务器上)
SELECT * FROM B.dbo.table1
那如果服务器 server1 的 A数据库中如何访问 server2 的 B 数据库的 table2 表呀。
就类似sql server的数据导入导出那样。
---------------------------------------------------------------
SELECT *
FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=服务名;User ID=用户;Password=密码'
).库名.dbo.表名
---------------------------------------------------------------
select * into 本地库名..表名 from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名
insert 本地库名..表名 from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名
或使用联结服务器:
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