如何在不同的服务器之间实现表的触发器操作

方法一:

--创建链接服务器
exec sp_addlinkedserver
    @server ='link_server_name',--链接服务器名
    @srvproduct = '',
    @provider = N'SQLOLEDB',
    @datasrc = N'server_name',--IP2服务器名
    @catalog = N'master'
go

--创建远程登录
exec sp_addlinkedsrvlogin
    @rmtsrvname = 'link_server_name',
    @useself='false',
  @rmtuser =  'sa', --远程服务器登录名称
    @rmtpassword = '***'
go


create trigger sms_insert on sms for insert
as
set nocount on
set xact_abort on
insert into link_server_name.数据库B.dbo.sms select * from INSERTED
set xact_abort off
set nocount off
go


注:IP1和IP2都要启动MSDTC

 ========================================================

方法二:

--创建链接服务器 
exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' 
exec sp_addlinkedsrvlogin  'ITSV ', 'false ',null, '用户名 ', '密码 ' 

--查询示例 
select * from ITSV.数据库名.dbo.表名 

--导入示例 
select * into 表 from ITSV.数据库名.dbo.表名 

--以后不再使用时删除链接服务器 
exec sp_dropserver  'ITSV ', 'droplogins ' 

posted on 2009-01-15 09:17  老有所依  阅读(212)  评论(0)    收藏  举报

导航