sqlserver 跨服务器操作数据(添加连接服务器)

本文详细介绍了如何在SQL Server中添加和删除链接服务器,包括使用sp_addlinkedserver和sp_addlinkedsrvlogin存储过程创建链接,以及通过openrowset进行数据查询和导入的示例。

一、添加链接服务器

--添加链接服务器
EXEC sp_addlinkedserver
@server='10.0.0.190',--被访问的服务器
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='10.0.0.190' --要访问的服务器
 
--添加用户登录链接
EXEC sp_addlinkedsrvlogin 
'10.0.0.190', --被访问的服务器
'false', 
NULL, 
'sa', --帐号 
'Sql2008' --密码 

 

如果只是临时访问,可以直接用openrowset

查询示例

select * from openrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)

导入示例

select * into 表 from openrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)
select * from openrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)

二、删除链接服务器

执行sql语句

exec sp_dropserver '10.0.0.190','droplogins'
go

 

 

 

 

三、示例

SELECT loc.ConfigValue LocalValue,ser.ConfigValue ServerValue 
FROM dbo.AnalyzeConfig loc
LEFT JOIN [10.0.0.190].[SFDB].[dbo].[AnalyzeConfig] ser
ON loc.ConfigName=ser.ConfigName

 

 

 

 

在SQL Server中,可以使用分布式事务来实现跨服务器修改数据的功能。分布式事务是指在多个服务器上执行的一系列数据操作,这些操作要么全部成功提交,要么全部回滚。 首先,我们需要在本地服务器和目标服务器上创建连接。可以使用Linked Server功能在本地服务器上创建到目标服务器连接。具体步骤是在本地服务器上打开SQL Server Management Studio,右键单击“服务器对象”文件夹,选择“新建” -> “链接服务器”。然后在“网状格式”选项中,输入目标服务器的名称、登录信息和其他必要的设置。 连接创建完成后,我们可以使用分布式事务来修改数据。可以使用BEGIN DISTRIBUTED TRANSACTION语句开始一个分布式事务,然后在事务中执行需要的SQL语句。例如,可以使用INSERT、UPDATE或DELETE语句来修改数据。 修改数据的语法与在本地服务器上执行相同,只是在表名前需要添加目标服务器的名称,以指定在哪个服务器上执行操作。例如,如果目标服务器的名称是“TargetServer”,需要在表名前添加“TargetServer.”,如“TargetServer.dbo.TableName”。 在所有需要修改数据的SQL语句执行完毕后,可以使用COMMIT DISTRIBUTED TRANSACTION语句来提交事务,或者使用ROLLBACK DISTRIBUTED TRANSACTION语句来回滚事务。提交事务会将所有的修改操作应用到数据库,而回滚事务会撤销所有的修改操作。 需要注意的是,跨服务器修改数据可能会涉及到网络延迟和性能问题。为了提高性能,可以考虑使用合适的索引、优化查询语句和减少数据传输等方法。 总结来说,通过创建连接、使用分布式事务和使用目标服务器的名称来修改数据的SQL语句,我们可以实现SQL Server跨服务器修改数据的功能。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值