跨服务器查询sql语句样例

若2个数据库在同一台机器上:
insert into DataBase_A..Table1(col1,col2,col3----)
select col11,col22,col33-- from DataBase_B..Table11
若不在同一台机器上,则是本文要讲的内容:
 

-----------------------------------------------------------------------------------------

跨服务器查询sql语句样例

 

INSERT INTO [目标数据库名].[dbo].[表名]
           ([Target_ID]
           ,[Target_Name])
select * from
OPENDATASOURCE('SQLOLEDB','Data Source=服务器;DBN=源数据库名;UID=用户名;PWD=密码').源数据库名.dbo.[表名]


 

但上述查询需要开启外围数据库查询

 

 先选中 master 数据库,新建一个查询,执行以下的sql

开户外围: 

exec sp_configure 'show advanced options',1
 reconfigure
 exec sp_configure 'Ad Hoc Distributed Queries',1
 reconfigure

-------------------------------

关闭外围:

exec sp_configure 'show advanced options',0
 reconfigure
 exec sp_configure 'Ad Hoc Distributed Queries',0
 reconfigure

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
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服务器修改数据的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值