必须以数据库管理员身份登录(通常也就是sa账号登录)后,才可以创建
2.输入链接服务器的IP
3.设置链接服务器的安全性
现在测试一下,用帐号user本地登录SqlServer,新建一个查询,输入Select * From [链接服务器名].[远程数据库名].[所有者].[表名]
比如
Select * from [127.0.0.1].[cntvs].[dbo].[t_class]
没问题的话,就能查询到数据了
链接服务器的名称,无修改的SQL语句,因为链接服务器的名称是和相关用户存在关联。
故,建议先删除连接服务器,再创建新的。
以下代码,可供参考
--删除部分:
--删除运行本地与远程之间的用户映射
EXEC sys.sp_droplinkedsrvlogin 'SyncServer',null
GO
--删除链接服务器
EXEC sys.sp_dropserver 'SyncServer','droplogins'
GO
--创建部分:
--创建远程链接服务器
EXEC sys.sp_addlinkedserver
@server = 'SyncServer', -- 目标服务器别名
@srvproduct = 'MSSQL', -- 产品名称
@datasrc = 'xxxxxxxxxx', -- 目标服务器名称
@provider = 'SQLOLEDB'
GO
--创建本地用户与远程服务器中用户之间的映射
EXEC sys.sp_addlinkedsrvlogin
@rmtsrvname = 'SyncServer', -- 与以上 @server 同名
@useself = 'false', --是否通过模拟本地登录名或显式提交登录名和密码来连接到远程服务器
@locallogin = null, --本地登录
@rmtuser ='xxxxxx',--用户名
@rmtpassword ='xxxxxxx' --密码
GO
deleteFROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=服务器ipUser ID=数据库登陆idPassword=数据库登陆密码'
).数据库名称.dbo.表名
where [id] not in (select [id] from 本地.库.dbo.表2)
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)