27,581
社区成员




--建立链接服务器,通过@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 [Link].远程数据库名.dbo.表(列的列表)
select 列
from 本地表
[/quote]
这个代码中是不是只需要把这三个@datasrc、@rmtuser、@rmtpassword修改为我需要链接的就可以,还需要做别的吗?--建立链接服务器,通过@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 [Link].远程数据库名.dbo.表(列的列表)
select 列
from 本地表
--建立链接服务器,通过@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 [Link].远程数据库名.dbo.表(列的列表)
select 列
from 本地表
--修改高级参数
sp_configure 'show advanced options',1
go
--允许即席分布式查询
sp_configure 'Ad Hoc Distributed Queries',1
go
--如果配置的值不在合理范围(在最小值最大值范围内),那么可以强制覆盖
reconfigure with override
go
[/quote]
远程机器是客户的那边的数据库,我这边没法直接操作
--修改高级参数
sp_configure 'show advanced options',1
go
--允许即席分布式查询
sp_configure 'Ad Hoc Distributed Queries',1
go
--如果配置的值不在合理范围(在最小值最大值范围内),那么可以强制覆盖
reconfigure with override
go