如何在链接服务器连接成功时执行指定SQL脚本?
链接服务器连接成功后执行指定SQL脚本的实现
你只需要在现有脚本中添加连接成功的判断分支(即@retval = 0的情况),在这个分支里写入你要执行的目标SQL语句即可。
修改后的完整脚本如下:
declare @srvr nvarchar(128),@retval int; set @srvr='MylinkedServerName'; begin try exec @retval=sys.sp_testlinkedserver @srvr; end try begin catch set @retval=sign(@@error); end catch; if @retval <> 0 raiserror('Unable to connect to server. This operation will be tried later!',16, 2 ); else -- 在这里插入你要执行的目标查询/脚本 begin -- 示例:查询链接服务器上的某张表 SELECT * FROM [MylinkedServerName].[RemoteDatabaseName].[SchemaName].[TableName]; -- 可添加更多需要执行的SQL语句,比如INSERT/UPDATE/DELETE等操作 end
关键说明:
- 当
sys.sp_testlinkedserver执行成功时,@retval会返回0,进入else分支执行目标脚本 - 若目标SQL涉及链接服务器对象,需使用四部分命名格式:
[链接服务器名].[远程数据库名].[架构名].[对象名] - 多语句执行时用
BEGIN...END包裹,代码结构更清晰
内容的提问来源于stack exchange,提问作者Edwardk
相关产品推荐
相关产品推荐

