create table [user](id int primary key,number varchar(4),name varchar(10)) go
--以下在局域網(本機操作)
--本機的表,state說明:null 表示新增記錄,1 表示修改過的記錄,0 表示無變化的記錄
if exists (select * from dbo.sysobjects where id = object_id(n'[user]') and objectproperty(id, n'isusertable') = 1) drop table [user] go create table [user](id int identity(1,1),number varchar(4),name varchar(10),state bit) go
--創建觸發器,維護state字段的值
create trigger t_state on [user] after update as update [user] set state=1 from [user] a join inserted b on a.id=b.id where a.state is not null go
--為了方便同步處理,創建鏈接服務器到要同步的服務器
--這里的遠程服務器名為:xz,用戶名為:sa,無密碼
if exists(select 1 from master..sysservers where srvname='srv_lnk') exec sp_dropserver 'srv_lnk','droplogins' go exec sp_addlinkedserver 'srv_lnk','','sqloledb','xz' exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa' go
--創建同步處理的存儲過程
if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[p_synchro]') and objectproperty(id, n'isprocedure') = 1) drop procedure [dbo].[p_synchro] go create proc p_synchro as --set xact_abort on