使用SQL语句如何登录其他机器数据库拿数据回来?
有一台是中心数据库,我这台是部门的。部门这台需要从中心的取回一些新数据保存到部门数据。如何写SQL呢?
[解决办法]
在两台机能保证互访的前提下,在服务器端创建链接服务器,然后部门端用select * from [链接服务器名].[数据库名].[架构名,一般为dbo].[表名] where 条件
[解决办法]
用opendatasource,
select * from opendatasource('SQLOLEDB',
'Data Source=[中心数据库机器名];User ID=[帐号];Password=[密码]').[数据库名].[架构名].[表名]
--建立链接服务器,通过@datasrc指定数据源,适合链接其他多种数据库
EXEC master.dbo.sp_addlinkedserver @server = N'Link',
@srvproduct='ms',
@provider=N'SQLNCLI',
@datasrc=N'改为远程服务器的ip,端口'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Link',
@useself=N'False',
@locallogin=NULL,
@rmtuser=N'',用户名
@rmtpassword='密码'
--执行后,能查看远程服务器上的数据
select * from [Link].数据库.dbo.表
insert into 本地表
select * from [Link].数据库.dbo.表
sp_configure 'show advanced options', '1'
go
RECONFIGURE
go
sp_configure 'remote access', '1'
go
reconfigure
go