加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

本地sqlserver数据库触发器直接调用远程存储过程

(2018-01-30 14:24:24)
标签:

it

分类: MY-SQLServer
参考地址:http://blog.csdn.net/yuemingfuyueming/article/details/73481397
if not exists(select 1 from sys.servers where name='DBVIP') begin EXEC sp_addlinkedserver @server='DBVIP',--被访问的服务器别名(任意的名称) @srvproduct='', @provider='SQLOLEDB', @datasrc='127.0.0.1' --要访问的服务器(SQL SERVER实例名) EXEC sp_addlinkedsrvlogin 'DBVIP', --被访问的服务器别名 'false', NULL, 'sa', --登陆链接服务器的帐号 '123' --登陆链接服务器的密码 end go --(go的作用)将语句分开执行,否则会报错 --查看已注册的链接服务器 exec sp_linkedservers --查询链接服务器上的表 select * from DBVIP.database_name.dbo.table_name go --DBVIP.database_name.dbo.table_name 远程服务器完整表名(必须用4部分表示) --用完后可删除 if exists(select 1 from sys.servers where name='DBVIP') begin Exec sp_droplinkedsrvlogin DBVIP,NULL --删除链接服务器的登陆帐户 Exec sp_dropserver DBVIP --删除链接服务器 end go --查看已注册的链接服务器 exec sp_linkedservers



------------------------测试----------------------------------------------------------

if not exists(select 1 from sys.servers where name='ITSV')
exec sp_addlinkedserver   'ITSV', ' ', 'SQLOLEDB', '10.10.11.250 ' 
exec sp_addlinkedsrvlogin  'ITSV', 'false ',null, 'sa', 'strongs' 
exec sp_serveroption @server='ITSV' , @optname= 'rpc', @optvalue ='TRUE'  
exec sp_serveroption @server='ITSV' , @optname= 'rpc out', @optvalue='TRUE' 

if exists(select 1 from sys.servers where name='ITSV')
Exec sp_droplinkedsrvlogin ITSV,NULL --删除链接服务器的登陆帐户
Exec sp_dropserver ITSV --删除链接服务器

USE [pacsmy]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[tests] on [dbo].[aaa1]
for insert
as 
begin
declare @tests varchar(10);
set @tests=(select number from inserted);
exec ITSV.pacs_djk.dbo.test @tests
end

select * from sys.servers where name='ITSV'

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有