国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
通過(guò)作業(yè),定時(shí)同步兩個(gè)數(shù)據(jù)庫(kù)

通過(guò)作業(yè),定時(shí)同步兩個(gè)數(shù)據(jù)庫(kù)

[日期:2005-07-08]來(lái)源:CSDN  作者:[字體: ]


--定時(shí)同步服務(wù)器上的數(shù)據(jù)

--例子:
--測(cè)試環(huán)境,SQL Server2000,遠(yuǎn)程服務(wù)器名:xz,用戶名為:sa,無(wú)密碼,測(cè)試數(shù)據(jù)庫(kù):test
--服務(wù)器上的表(查詢分析器連接到服務(wù)器上創(chuàng)建)
create table [user](id int primary key,number varchar(4),name varchar(10))
go
--以下在局域網(wǎng)(本機(jī)操作)
--本機(jī)的表,state說(shuō)明:null 表示新增記錄,1 表示修改過(guò)的記錄,0 表示無(wú)變化的記錄
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
--創(chuàng)建觸發(fā)器,維護(hù)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

--為了方便同步處理,創(chuàng)建鏈接服務(wù)器到要同步的服務(wù)器
--這里的遠(yuǎn)程服務(wù)器名為:xz,用戶名為:sa,無(wú)密碼
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

--創(chuàng)建同步處理的存儲(chǔ)過(guò)程
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
--啟動(dòng)遠(yuǎn)程服務(wù)器的MSDTC服務(wù)
--exec master..xp_cmdshell ‘isql /S"xz" /U"sa" /P"" /q"exec master..xp_cmdshell ‘‘net start msdtc‘‘,no_output"‘,no_output

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

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

 --同步新增的數(shù)據(jù)
 insert into srv_lnk.test.dbo.[user]
 select id,number,name from [user] where state is null
 
 --同步修改的數(shù)據(jù)
 update srv_lnk.test.dbo.[user] set
  number=b.number,name=b.name
 from srv_lnk.test.dbo.[user] a
  join [user] b on a.id=b.id
 where b.state=1
 
 --同步后更新本機(jī)的標(biāo)志
 update [user] set state=0 where isnull(state,1)=1
--COMMIT TRAN
go

--創(chuàng)建作業(yè),定時(shí)執(zhí)行數(shù)據(jù)同步的存儲(chǔ)過(guò)程
if exists(SELECT 1 from msdb..sysjobs where name=‘?dāng)?shù)據(jù)處理‘)
 EXECUTE msdb.dbo.sp_delete_job @job_name=‘?dāng)?shù)據(jù)處理‘
exec msdb..sp_add_job @job_name=‘?dāng)?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ù)庫(kù)名

exec msdb..sp_add_jobstep @job_name=‘?dāng)?shù)據(jù)處理‘,
 @step_name = ‘?dāng)?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 = ‘?dāng)?shù)據(jù)處理‘,
 @name = ‘時(shí)間安排‘,
 @freq_type = 4,     --每天
 @freq_interval = 1,    --每天執(zhí)行一次
 @active_start_time = 00000  --0點(diǎn)執(zhí)行
go

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SQL Server使用存儲(chǔ)過(guò)程+事務(wù)+游標(biāo)跨庫(kù)將一個(gè)表中的數(shù)據(jù)導(dǎo)出到另一服務(wù)器的兩個(gè)數(shù)據(jù)庫(kù)表中
Sql Server數(shù)據(jù)庫(kù)實(shí)現(xiàn)跨庫(kù)跨服務(wù)器查詢的方法
數(shù)據(jù)庫(kù)異庫(kù)操作(SQL2000)_數(shù)據(jù)庫(kù)開(kāi)發(fā)_web應(yīng)用開(kāi)發(fā) - snow_xp的日志 -...
(轉(zhuǎn))跨服務(wù)器查詢數(shù)據(jù)庫(kù)
SQL Server中創(chuàng)建鏈接服務(wù)器進(jìn)行跨服務(wù)器查詢
sqlserver通過(guò)腳本創(chuàng)建定時(shí)任務(wù)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服