婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > SQL Server實時同步更新遠(yuǎn)程數(shù)據(jù)庫遇到的問題小結(jié)

SQL Server實時同步更新遠(yuǎn)程數(shù)據(jù)庫遇到的問題小結(jié)

熱門標(biāo)簽:千呼電銷機器人價格 京華物流公司地圖標(biāo)注 智能語音外呼系統(tǒng)選哪家 武漢長沙外呼系統(tǒng)方法和技巧 奧威地圖標(biāo)注多個地方 百度地圖標(biāo)注不同路線 怎樣在地圖上標(biāo)注路線圖標(biāo) 外呼系統(tǒng)電銷專用 優(yōu)質(zhì)地圖標(biāo)注

工作中遇到這樣的情況,需要在更新表TableA(位于服務(wù)器ServerA 172.16.8.100中的庫DatabaseA)同時更新TableB(位于服務(wù)器ServerB 172.16.8.101中的庫DatabaseB)。

TableA與TableB結(jié)構(gòu)相同,但數(shù)據(jù)數(shù)量不一定相同,應(yīng)為有可能TableC也在更新TableB。由于數(shù)據(jù)更新不頻繁,為簡單起見想到使用了觸發(fā)器Tirgger。記錄一下遇到的一些問題:

1. 訪問異地數(shù)據(jù)庫

在ServerA 中創(chuàng)建指向ServerB的鏈接服務(wù)器,并做好賬號映射。addlinkedserver存儲過程創(chuàng)建一個鏈接服務(wù)器,參數(shù)詳情參見官方文檔。第1個參數(shù)LNK_ServerA是自定義的名稱;第2參數(shù)產(chǎn)品名稱,如果是SQL Server不用提供;第3個參數(shù)是驅(qū)動類型;第4個參數(shù)是數(shù)據(jù)源,這里寫SQL Server服務(wù)器地址

exec sp_addlinkedserver 'LNK_ServerB_DatabaseB','','SQLNCLI','172.16.8.101'

配置鏈接服務(wù)器后,默認(rèn)使用同一本地賬號登陸遠(yuǎn)程數(shù)據(jù)庫,如果賬號有不同,還需要進(jìn)行賬號映射。sp_addlinkedsrvlogin參數(shù)詳情參見官方文檔。第1個參數(shù)同上;第2個參數(shù)false即使用后面參數(shù)提供的用戶密碼登陸;第3個參數(shù)null使所有本地賬號都可以使用后面的用戶密碼來登陸鏈接服務(wù)器,如果第3個參數(shù)設(shè)置為一個本地SQL Server登陸用戶名,那么只有這個用戶才可以使用遠(yuǎn)程賬號登陸鏈接服務(wù)器;最后兩個是登錄遠(yuǎn)程服務(wù)器的用戶和密碼。

exec sp_addlinkedsrvlogin 'LNK_ServerB_DatabaseB','false',null,'user','password'

如果要刪除以上配置可以如下

exec sp_droplinkedsrvlogin 'LNK_ServerB_DatabaseB',null
exec sp_dropserver 'LNK_ServerB_DatabaseB','droplogins'

上面的配置在SQL Server Management Studio管理器里Server Objects下LinkedServers可以查詢到,如果一切鏈接正常,可以直接打開鏈接服務(wù)器上的庫表

值得注意的是以上兩個存儲過程不能出現(xiàn)在觸發(fā)器代碼中,而是事先在服務(wù)器ServerA中運行完成配置,否則觸發(fā)器隱式事務(wù)的要求會報錯“The procedure 'sys.sp_addlinkedserver' cannot be executed within a transaction.”

2. 配置分布式事務(wù)

SQL Server的觸發(fā)器是隱式使用事務(wù)的,鏈接服務(wù)器是遠(yuǎn)程服務(wù)器,需要在本地服務(wù)器和遠(yuǎn)程服務(wù)器之間開啟分布式事務(wù)處理,否則會報“The partner transaction manager has disabled its support for remote/network transactions”的錯誤。我在ServerA和ServerB中都開啟分布式事務(wù)協(xié)調(diào)器,并進(jìn)行適當(dāng)配置,以支持分布式事務(wù)。ServerA和ServerB都是Windows Server 2012 R2,其他版本服務(wù)器類似。

(1)首先在Services.msc中確認(rèn)Distributed Transaction Coordinator已經(jīng)開啟,其他版本的服務(wù)器不一定默認(rèn)安裝,需要安裝windows features的方式先進(jìn)行該特性的安裝。

(2)在服務(wù)器管理工具Administrative Tools中找到Component Services,在Local DTC中屬性Security選項卡中配置如下,打開相關(guān)安全設(shè)置,完成后會重啟服務(wù),也有文檔稱需要重啟服務(wù)器,但是至少2012 R2不用。

(3)配置防火墻,Inbound和Outbound都打開

3. 數(shù)據(jù)庫字段text, ntext的處理

業(yè)務(wù)中表TableA中有一個Content字段是text類型,同步到TableB時需要對內(nèi)容做一些替換處理。對于text類型是一個過時的類型,微軟官方建議用(N)VARCHAR(MAX)替換,可查閱這里。今后設(shè)計時可以考慮,這里我們考慮對text進(jìn)行處理。

但是在觸發(fā)器中,inserted和deleted表都是不允許對text/ntext/image類型進(jìn)行處理的,這里我們采用一個曲線救國的辦法,從數(shù)據(jù)庫中把記錄讀取到臨時表中,然后通過textptr和patindex函數(shù)和updatetext命令完成字符串替換處理

if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#temp_tablea')) 
 drop table #temp_tablea
select * into #temp_tablea from TableA where ID = @ID
declare @s varchar(200),@d varchar(200)
select @s='="/_target/',@d='="/_replacement/'
declare @p varbinary(16),@postion int,@l int
select @p=textptr(Content),@l=len(@s),@postion=patindex('%'+@s+'%',Content)+1 from #temp_tablea
while @postion>1
begin
 updatetext #temp_tablea.Content @p @postion @l @d
 select @postion=patindex('%'+@s+'%',Content)+1 from #temp_tablea
end

4. 執(zhí)行遠(yuǎn)程數(shù)據(jù)庫操作

當(dāng)配置鏈接服務(wù)器時,我們可以直接訪問遠(yuǎn)程數(shù)據(jù)庫表了,如下

insert into LNK_ServerB_DatabaseB.DatabaseB.dbo.TableB ...
update LNK_ServerB_DatabaseB.DatabaseB.dbo.TableB set ...

但簡陋的SQL編輯器往往會對語法報錯,另外為方便編程,我們希望通過exec sp_executesql的方式獲得更多的靈活性。其實exec就可以直接執(zhí)行sql語句,但如果有返回值就比較困難了。如下,從遠(yuǎn)程服務(wù)器上通過ID查詢表TableB后返回Name,sp_executesql存儲過程可以使用output關(guān)鍵字定義變量為返回變量,其中@Name output為返回變量,@ID則是傳入變量。

declare @sql nvarchar(500), @Name nvarchar(50),@ID nvarchar(40)
set @SQL=N'select @Name=Name from LNK_ServerB_DatabaseB.DatabaseB.dbo.TableB where ID=@ID'
exec sp_executesql @SQL,N'@Name nvarchar(50) output,@ID nvarchar(40)',@Name output,@ID

另外exec直接執(zhí)行sql語句,本質(zhì)上是執(zhí)行拼接后的sql字符串,有時將變量拼接進(jìn)字符串會困難的多(到底需要幾個單引號),而sp_executesql則清晰多了

declare @SQL nvarchar(500),@Name nvarchar(50),@Count int,@ID nvarchar(40)
set @Name=N'Cat'
set @Count=0
set @ID=N'{00000000-0000-0000-0000-000000000000}'
set @SQL=N'update TableA set Name='''+@Name+''', Count='+@Count+' where ID='''+@ID+''''
exec(@SQL)
set @SQL=N'update TableA set Name=@Name,Count=@Count where ID=@ID'
exec sp_executesql @SQL, N'@Name nvarchar(50),@Count int,@ID nvarchar(40)',@Name,@Count,@ID

以上所述是小編給大家介紹的SQL Server實時同步更新遠(yuǎn)程數(shù)據(jù)庫遇到的問題小結(jié),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • SQL Server 出現(xiàn)Error: 1326錯誤(管理器無法連接遠(yuǎn)程數(shù)據(jù)庫)問題解決方案
  • SQL server 2005將遠(yuǎn)程數(shù)據(jù)庫導(dǎo)入到本地的方法
  • SQLSERVER 本地查詢更新操作遠(yuǎn)程數(shù)據(jù)庫的代碼

標(biāo)簽:威海 天水 宿州 銅仁 來賓 七臺河 益陽 防疫戰(zhàn)設(shè)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL Server實時同步更新遠(yuǎn)程數(shù)據(jù)庫遇到的問題小結(jié)》,本文關(guān)鍵詞  SQL,Server,實時,同步,更新,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL Server實時同步更新遠(yuǎn)程數(shù)據(jù)庫遇到的問題小結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL Server實時同步更新遠(yuǎn)程數(shù)據(jù)庫遇到的問題小結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲一二三四在线观看| 亚洲亚洲人成综合网络| 91亚洲精品一区二区乱码| 国产91在线|亚洲| 99国产精品久久久久久久久久 | 蜜臀av性久久久久av蜜臀妖精| 老司机精品视频一区二区三区| 欧美日韩综合一区| 悠悠色在线精品| 精品一区二区三区免费播放| 一本色道久久综合狠狠躁的推荐| 欧美videos中文字幕| 香蕉久久一区二区不卡无毒影院| 国产成人av资源| 一区二区三区小说| 99久久综合99久久综合网站| 欧美一区二区免费观在线| 精品一区二区影视| 国产三级三级三级精品8ⅰ区| 五月天久久比比资源色| 777亚洲妇女| 国产精品一区二区久久不卡| 97精品视频在线观看自产线路二| 亚洲色图在线播放| 色婷婷精品大在线视频| 国产午夜亚洲精品理论片色戒| 成人午夜在线视频| 国产精品久久久久aaaa樱花| 日韩va亚洲va欧美va久久| 在线免费观看视频一区| 国产精品久久久久久久久免费丝袜 | 日韩欧美一级二级三级| 亚洲一区二区在线免费观看视频| 91香蕉视频mp4| 国产成人av在线影院| 天天做天天摸天天爽国产一区| 欧美日韩日日摸| 欧美aaaaa成人免费观看视频| 欧美一区二区三级| 不卡的电视剧免费网站有什么| 国产精品久久久久四虎| 日韩视频一区二区| 日韩欧美国产一区二区在线播放 | 成人丝袜视频网| 久久久精品免费免费| 欧美精品一二三四| 成人晚上爱看视频| 亚洲国产另类av| 日韩欧美综合一区| 日韩精品中文字幕一区二区三区| 成人aaaa免费全部观看| 国产剧情一区二区| 亚洲欧美在线高清| av在线免费不卡| 伦理电影国产精品| 国产精品久久久久久久蜜臀| 中文字幕国产精品一区二区| 欧美日韩一区二区在线观看视频| 日韩免费成人网| 99久久精品99国产精品| 99天天综合性| 免费人成精品欧美精品| 欧美激情综合网| 综合在线观看色| 国产日韩在线不卡| 欧美极品另类videosde| 日韩欧美第一区| 91行情网站电视在线观看高清版| 欧美一区二区黄| 欧美在线一区二区三区| 欧美伊人久久大香线蕉综合69| 麻豆精品视频在线| 日本aⅴ精品一区二区三区 | 欧美中文字幕久久| 欧美在线视频全部完| 欧美日韩国产高清一区| 日韩一区二区三区免费看 | 日韩经典一区二区| 亚洲一区二区四区蜜桃| 精品一区二区三区在线播放 | 欧美日韩小视频| 日韩一区二区三区观看| 亚洲午夜免费视频| 丝袜诱惑制服诱惑色一区在线观看| 天天av天天翘天天综合网色鬼国产 | 精品国产a毛片| 国产精品乱人伦| 亚洲美女偷拍久久| 一区二区三区视频在线看| 青青草原综合久久大伊人精品优势| 国产在线一区观看| 久久激情五月激情| 色噜噜狠狠成人中文综合| 欧美精品丝袜中出| 一区二区三区在线观看动漫| 国产一区二区美女诱惑| 26uuu久久综合| 人人精品人人爱| 久久99日本精品| 豆国产96在线|亚洲| 欧美美女一区二区三区| 日韩一区二区不卡| 精品影视av免费| 国内精品不卡在线| 成人免费视频一区| 国产女人水真多18毛片18精品视频| 亚洲精品高清视频在线观看| 国产精品一二三| 日韩精品一区二区三区四区| 亚洲美女偷拍久久| 91免费在线播放| 国产精品一区二区男女羞羞无遮挡| 欧美日韩一区在线观看| 天堂久久一区二区三区| 91国产免费看| 亚洲成av人在线观看| 99国产一区二区三精品乱码| 亚洲欧洲日产国产综合网| 久草这里只有精品视频| 国产清纯在线一区二区www| 色女孩综合影院| 亚洲欧美在线aaa| 91高清视频在线| 亚洲男人的天堂一区二区| 91麻豆产精品久久久久久| 亚洲一区中文日韩| 91丨porny丨户外露出| 亚洲一区日韩精品中文字幕| 欧美日韩国产另类一区| 久久精品国产99久久6| 国产精品久久久久久久午夜片| 国产欧美日韩另类一区| 成人性生交大片免费| 亚洲一区二区四区蜜桃| 国产精品不卡视频| 欧美岛国在线观看| 麻豆国产精品一区二区三区| 一区二区三区免费| 欧美一区二区日韩一区二区| 欧美电影免费观看高清完整版在线| 国产aⅴ精品一区二区三区色成熟| 洋洋成人永久网站入口| 国产性色一区二区| 欧美丰满少妇xxxxx高潮对白| 极品少妇xxxx偷拍精品少妇| 国产一区二区久久| 日韩精品一区第一页| 亚洲天堂成人在线观看| 26uuu精品一区二区| 欧美一区二区三级| 国产精品色一区二区三区| 欧美日韩国产123区| 日韩亚洲欧美成人一区| 欧美一区二区三区免费观看视频 | 亚洲欧美日韩中文播放| 欧美大片在线观看| 91老师片黄在线观看| 91网站最新网址| 黄页视频在线91| 成人激情视频网站| 国产高清不卡二三区| 爽好多水快深点欧美视频| 亚洲国产成人av好男人在线观看| 久久久久免费观看| 亚洲精品乱码久久久久久日本蜜臀| 中文字幕免费在线观看视频一区| 亚洲图片另类小说| 亚洲国产日产av| 免费不卡在线视频| 男男gaygay亚洲| 国产精品亚洲成人| 国产精品888| 99re这里只有精品首页| 久久综合成人精品亚洲另类欧美 | 国产免费成人在线视频| 亚洲国产高清在线| 亚洲精选一二三| 亚洲一区二区在线观看视频| 亚洲一区二区高清| 亚洲丰满少妇videoshd| 久久99热国产| 成人午夜激情片| 日韩欧美自拍偷拍| 亚洲三级电影网站| 天堂成人国产精品一区| 国产不卡一区视频| 在线视频国内自拍亚洲视频| 久久老女人爱爱| 亚洲专区一二三| 国产精品系列在线观看| 欧美日韩日日骚| 国产精品久久二区二区| 奇米亚洲午夜久久精品| 欧美亚洲国产怡红院影院| 欧美亚洲国产一区在线观看网站| 国产视频一区不卡| 亚洲va欧美va人人爽| 在线观看日韩精品| 亚洲第一在线综合网站| 91久久久免费一区二区|