sqlserver的sp_addlinkedserver在存储过程中的使用问题

本文介绍了在SQLServer中如何在存储过程中使用sp_addlinkedserver进行跨数据库操作。首先,由于存储过程会检查同步中间服务器是否存在,因此需要在创建存储过程之前执行sp_addlinkedserver命令创建连接。通过查询sys.servers验证连接是否成功创建,确保后续存储过程调用不会出现连接错误。sp_addlinkedsrvlogin的详细用法未在文中展开。
摘要由CSDN通过智能技术生成

sp_addlinkedserver是sqlserver中用于跨数据库操作.该函数用于创建一个连接.在开发中遇到业务需求, 需要创建一个存储过程,在里面做跨数据库操作.该存储过程创建语句如下

--- 创建存储过程begin
if object_id('SYNC_MIDDLE') is not null
  drop proc SYNC_MIDDLE
go

CREATE PROCEDURE SYNC_MIDDLE
    @middleIp  NVARCHAR(50),   --需要连接的数据库id
    @middleAcc  NVARCHAR(50),  --需要连接的数据库登陆账号
    @middlePsd  NVARCHAR(50)   --需要连接的数据库登陆密码
AS
  BEGIN

    if exists(select * from sys.servers where name = 'sync_middle_server')
      BEGIN
        --如果原先有连接,就先删掉原来的
        Exec sp_droplinkedsrvlogin 'sync_middle_server',Null
        Exec sp_dropserver 'sync_middle_server'
        print '删除连接:sync_middle_server'
      END

      --使用sp_addlinkedserver来增加链接
      EXEC sp_addlinkedserver
          @server='sync_middle_server',--别名
          @srvproduct='',
          @provider='SQLOLEDB',
          @datasrc=@middleIp --要访问的服务器ip

      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值