亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網(wǎng)絡(luò),我們將竭誠為您提供優(yōu)質(zhì)的服務(wù)! 誠征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯(lián)系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁 >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

兩臺SQL Server服務(wù)器同步問題

添加時間:2014-10-7 20:31:53  添加: 思海網(wǎng)絡(luò) 
-定時同步服務(wù)器上的數(shù)據(jù)(服務(wù)器上的數(shù)據(jù)修改同步到本地)  

--例子:  
--測試環(huán)境,SQL Server2000,遠(yuǎn)程服務(wù)器名:rserver,用戶名為:ruser,密碼:rpwd,  
測試數(shù)據(jù)庫:test  

--服務(wù)器上的表(查詢分析器連接到服務(wù)器上創(chuàng)建)  
--state字段為輔助更新而設(shè)置的附加字段,字段值說明:null 表示新增記錄,1 表示修改過的記錄,0 表示無變化的記錄  
if exists (select * from dbo.sysobjects where id = object_id(N’[luser]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)  
drop table [luser]  
GO  
create table [luser](id int identity(1,1) primary key,[user] varchar(4),pwd varchar(10),address varchar(50),state bit)  
go  

--創(chuàng)建觸發(fā)器,維護(hù)state字段的值  
create trigger t_state on [luser]  
after update  
as  
update [luser] set state=1  
from [luser] a join inserted b on a.id=b.id  
where a.state is not null  
go  

----以下在局域網(wǎng)(本機(jī)操作)  
if exists (select * from dbo.sysobjects where id = object_id(N’[luser]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)  
drop table [luser]  
create table [luser](id int primary key,[user] varchar(4),pwd varchar(10),address varchar(50))  
go  

--為了方便同步處理,創(chuàng)建鏈接服務(wù)器到要同步的服務(wù)器  
--這里的遠(yuǎn)程服務(wù)器名:rserver,用戶名為:ruser,密碼:rpwd  
if exists(select 1 from master..sysservers where srvname=’srv_lnk’)  
exec sp_dropserver ’srv_lnk’,’droplogins’  
go  
exec sp_addlinkedserver ’srv_lnk’,’’,’SQLOLEDB’,’rserver’  
exec sp_addlinkedsrvlogin ’srv_lnk’,’false’,null,’ruser’,’rpwd’  
go  

--創(chuàng)建同步處理的存儲過程  
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  
/*--因?yàn)镸SDTC服務(wù)(分布式事務(wù)處理需要)工作不穩(wěn)定,所以下面部分為選用內(nèi)容  
--set XACT_ABORT on  
--啟動遠(yuǎn)程服務(wù)器的MSDTC服務(wù)  
--exec master..xp_cmdshell ’isql /S"rserver" /U"ruser" /P"rpwd" /q"exec master..xp_cmdshell ’’net start msdtc’’,no_output"’,no_output  

--啟動本機(jī)的MSDTC服務(wù)  
--exec master..xp_cmdshell ’net start msdtc’,no_output  

--進(jìn)行分布事務(wù)處理,如果表用標(biāo)識列做主鍵,用下面的方法  
--BEGIN DISTRIBUTED TRANSACTION  
--*/  
--同步刪除的數(shù)據(jù)  
delete from [luser]  
where id not in(select id from srv_lnk.test.dbo.[luser])  

--同步新增的數(shù)據(jù)  
insert into [luser]  
select id,[user],pwd,address from srv_lnk.test.dbo.[luser]  
where state is null  

--同步修改的數(shù)據(jù)  
update [luser] set  
[user]=b.[user],pwd=b.pwd,address=b.address  
from [luser] a  
join srv_lnk.test.dbo.[user] b on a.id=b.id  
where b.state=1  

--同步后更新服務(wù)器上的標(biāo)志  
update srv_lnk.test.dbo.[luser] set state=0 where isnull(state,1)=1  
--COMMIT TRAN --如果啟用分布式事務(wù)處理,加上此句  
go  

--創(chuàng)建作業(yè),定時執(zhí)行數(shù)據(jù)同步的存儲過程  
if exists(SELECT 1 from msdb..sysjobs where name=’數(shù)據(jù)處理’)  
EXECUTE msdb.dbo.sp_delete_job @job_name=’數(shù)據(jù)處理’  
exec msdb..sp_add_job @job_name=’數(shù)據(jù)處理’  

--創(chuàng)建作業(yè)步驟  
declare @sql varchar(800),@dbname varchar(250)  
select @sql=’exec p_synchro’ --數(shù)據(jù)處理的命令  
,@dbname=db_name() --執(zhí)行數(shù)據(jù)處理的數(shù)據(jù)庫名  

exec msdb..sp_add_jobstep @job_name=’數(shù)據(jù)處理’,  
@step_name = ’數(shù)據(jù)同步’,  
@subsystem = ’TSQL’,  
@database_name=@dbname,  

   @command = @sql,  
@retry_attempts = 5, --重試次數(shù)  
@retry_interval = 5 --重試間隔  

--創(chuàng)建調(diào)度  
EXEC msdb..sp_add_jobschedule @job_name = ’數(shù)據(jù)處理’,  
@name = ’時間安排’,  
@freq_type=4, --4 每天,8 每周,16 每月  
@freq_interval=1, --作業(yè)執(zhí)行的天數(shù)  
@freq_subday_type=0, --是否重復(fù)執(zhí)行,0x1 在指定的時間, 0x4 分鐘, 0x8 小時  
@freq_subday_interval=1, --重復(fù)周期  
@freq_recurrence_factor=0, --重復(fù)執(zhí)行,則設(shè)置為1,否則設(shè)置為0  
@active_start_time = 00000 --0點(diǎn)開始執(zhí)行  

--添加目標(biāo)服務(wù)器  
EXEC msdb.dbo.sp_add_jobserver  
@job_name = @jobname ,  
@server_name = N’(local)’  
go  

也可以直接建立一個數(shù)據(jù)庫的復(fù)制。  

即,出版服務(wù)器和訂閱服務(wù)器。  

關(guān)鍵字:服務(wù)器、SQL Server、數(shù)據(jù)庫

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國增值電信業(yè)務(wù)經(jīng)營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網(wǎng)站公安備案編號:44060602000007 交互式欄目專項(xiàng)備案編號:200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎  警警  手機(jī)打開網(wǎng)站