亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫(kù) > SQL Server > 正文

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

2024-08-31 01:04:50
字體:
供稿:網(wǎng)友

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

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

1. 訪問異地?cái)?shù)據(jù)庫(kù)

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

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

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

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

如果要?jiǎng)h除以上配置可以如下

exec sp_droplinkedsrvlogin 'LNK_ServerB_DatabaseB',nullexec sp_dropserver 'LNK_ServerB_DatabaseB','droplogins'

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

sqlserver,實(shí)時(shí)同步更新,遠(yuǎn)程數(shù)據(jù)庫(kù)

值得注意的是以上兩個(gè)存儲(chǔ)過程不能出現(xiàn)在觸發(fā)器代碼中,而是事先在服務(wù)器ServerA中運(yùn)行完成配置,否則觸發(fā)器隱式事務(wù)的要求會(huì)報(bào)錯(cuò)“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ù)處理,否則會(huì)報(bào)“The partner transaction manager has disabled its support for remote/network transactions”的錯(cuò)誤。我在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)行該特性的安裝。

sqlserver,實(shí)時(shí)同步更新,遠(yuǎn)程數(shù)據(jù)庫(kù)

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

sqlserver,實(shí)時(shí)同步更新,遠(yuǎn)程數(shù)據(jù)庫(kù)

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

sqlserver,實(shí)時(shí)同步更新,遠(yuǎn)程數(shù)據(jù)庫(kù)

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

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

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

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

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

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

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

但簡(jiǎn)陋的SQL編輯器往往會(huì)對(duì)語法報(bào)錯(cuò),另外為方便編程,我們希望通過exec sp_executesql的方式獲得更多的靈活性。其實(shí)exec就可以直接執(zhí)行sql語句,但如果有返回值就比較困難了。如下,從遠(yuǎn)程服務(wù)器上通過ID查詢表TableB后返回Name,sp_executesql存儲(chǔ)過程可以使用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字符串,有時(shí)將變量拼接進(jìn)字符串會(huì)困難的多(到底需要幾個(gè)單引號(hào)),而sp_executesql則清晰多了

declare @SQL nvarchar(500),@Name nvarchar(50),@Count int,@ID nvarchar(40)set @Name=N'Cat'set @Count=0set @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實(shí)時(shí)同步更新遠(yuǎn)程數(shù)據(jù)庫(kù)遇到的問題小結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)VeVb武林網(wǎng)網(wǎng)站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到MSSQL教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产精品女人久久久| 欧美色图亚洲天堂| 91久久精品一区| 日本不卡一区二区在线观看| 欧美日韩日本国产| 久久综合狠狠综合久久综合88| 日韩欧美在线国产| 麻豆视频免费网站| 999精品视频一区二区三区| 亚洲综合国产| 一区二区三区四区激情| 中文字幕免费高清视频| 欧美高清在线一区二区| 欧美精品一区二区三区精品| 久久久亚洲天堂| 亚洲女人18毛片水真多| 亚洲激情在线观看视频| 欧美日本在线播放| p色视频免费在线观看| 国语对白做受69按摩| 中文欧美日韩| 欧美精品入口蜜桃| 亚洲欧美视频一区二区三区| 亚洲欧美日韩一区二区三区在线观看| 一区视频在线| 免费成人深夜夜行网站| 国产成a人亚洲精v品无码| 思热99re视热频这里只精品| 天天综合天天| 91老师片黄在线观看| 国产精品看片资源| 亚洲国产网址| 成人三级黄色免费网站| 精品国产91乱码一区二区三区| 欧美性受xxxx黑人猛交| 高清电影在线观看免费| 亚洲大胆人体大胆做受1| 黄色国产网站在线观看| 青青操视频在线| 福利视频导航一区| 在线精品国产成人综合| 欧美二区三区| 男人日女人逼逼| 狠狠狠色丁香婷婷综合激情| 日本少妇性高潮| 久久久精品少妇| 亚洲激情 欧美| 欧美自拍偷拍一区二区| 视频一区免费在线观看| 97中文字幕在线观看| 人妻无码一区二区三区久久99| 欧美二区在线| 精品黑人一区二区三区| 乱中年女人伦av一区二区| 黄网在线观看视频| 91福利视频免费观看| 亚洲国产va精品久久久不卡综合| 国产人久久人人人人爽| 欧美一级特黄aaa| 日本久久成人网| 极品人妻一区二区| 暴力调教一区二区三区| 大胆高清日本a视频| 精品久久久久久久久久中文字幕| 久久久久久久久久久久国产| 情侣偷拍对白清晰饥渴难耐| 日韩国产高清一区| 国产精品不卡av| 影音先锋中文字幕在线观看| 亚洲国产精品成人无久久精品| 欧美日韩国产综合视频| 一级全黄少妇性色生活片| 亚洲午夜久久久久中文字幕久| 国产精品一区二区无码对白| 国产成人精品亚洲日本在线桃色| 国产sm调教视频| 国产成人无遮挡在线视频| 日韩精品免费一区二区在线观看| 久久久久黄色| 一本色道久久综合狠狠躁的推荐| 久久精品人人做人人爽电影蜜月| 国产经典自拍视频在线观看| 中文字幕有码在线| 日韩西西人体444www| 国内精品久久久久久99蜜桃| 国产精品永久免费视频| 欧美一级片在线免费观看| 爱啪导航一精品导航站| 中文字幕日韩欧美精品高清在线| 一区二区精品在线观看| 黄色片网址在线观看| 精品无人乱码一区二区三区| 精品在线播放视频| 久久久www成人免费精品| 五月婷在线视频| 337p日本欧洲亚洲大胆张筱雨| 国产精品99久久久久久成人| 欧美肉大捧一进一出免费视频| 51ⅴ精品国产91久久久久久| 欧美视频第一区| 中文字幕国产精品久久| 精品无人区乱码1区2区3区在线| 日日骚一区二区三区| 妖精视频一区二区三区| 亚洲一区激情| 极品av少妇一区二区| 国产美女搞久久| 92国产精品久久久久首页| 俄罗斯嫩小性bbwbbw| 精品国产91乱高清在线观看| 很污的网站在线观看| 久久这里只有精品视频网| 欧美人与z0zoxxxx视频| 欧美激情久久久久久| 九九99久久| 亚洲 欧美综合在线网络| 日韩专区视频| 欧美日韩hd| 色视频精品视频在线观看| 精品视频在线一区二区| 久久久久国产免费| 日本三级电影网站| 综合激情在线| 日韩一卡二卡在线| 久久久国产成人精品| 日日夜夜精品免费视频| 日韩欧美一区二区三区四区| 国产手机视频在线| 日本猛少妇色xxxxx免费网站| 日韩福利视频| www.神马久久| www.亚洲免费视频| 国产成人欧美日韩在线电影| 亚洲免费av一区二区三区| av中文一区二区三区| 欧亚在线中文字幕免费| 国产精品天干天干在观线| 亚洲亚洲精品三区日韩精品在线视频| 午夜精品在线免费观看| 黄色www在线观看| 色一区在线观看| 国产又粗又猛又爽又黄| 日本韩国欧美中文字幕| 成年人网站国产| 久久久国产精彩视频美女艺术照福利| 久久久午夜影院| 日本一二三区视频在线| 91精品国产闺蜜国产在线闺蜜| 嫩草影院在线观看网站成人| 丁香六月色婷婷| 精品动漫一区二区| 久久久久久久久一区| 欧美爆操老女人| 久久国产影院| 国产一级淫片久久久片a级| 色婷婷精品久久二区二区蜜臀av| 日韩欧美第二区在线观看| 久久野战av| 亚洲狠狠丁香婷婷综合久久久| 亚州精品国产| 伊大人久久香线焦宗合一75大| 日韩在线视频网址| 99久精品视频在线观看视频| 亚洲成人av免费观看| 日本网站在线免费观看视频| 欧洲精品一区色| 97在线观看视频国产| 久久99久久久久久| av亚洲精华国产精华精华| 成人性爱视频在线观看| 久久噜噜色综合一区二区| 裸体在线国模精品偷拍| 欧美性猛交内射兽交老熟妇| 同房视频网站| 一本大道熟女人妻中文字幕在线| 在线天堂中文资源最新版| 国产成人在线视频网站| 日本中文字幕网址| 色综合天天视频在线观看| 天堂在线视频免费观看| 国产一区二区在线|播放| 国产成人精品一区二区三区视频| 精品久久在线播放| 国产精品一区二区不卡视频| 国产乱在线观看完整版视频| 3d动漫精品啪啪1区2区免费| 免费av不卡| 成人免费在线小视频| 欧美一区二区三区久久| 国产精品不卡一区二区三区在线观看| 久久精品久久综合| 成人精品久久| 青青草国产精品| 国产呦萝稀缺另类资源| 国产午夜精品一区二区三区欧美| 日韩免费观看视频| 国内av一区二区| 永久免费在线看片视频| 国产美女裸体无遮挡免费视频| 97国产一区二区精品久久呦| 亚洲激情婷婷| 亚欧精品在线| 中文字幕这里只有精品| 日本不卡高字幕在线2019| 在线中文字幕视频观看| 韩国无码av片在线观看网站| 日韩av一卡二卡三卡| 国产69精品久久久久999小说| 久久久久国产免费免费| 中文字幕一区二区三区色视频| 欧美精品99| 极品粉嫩小仙女高潮喷水久久| 国产一级二级三级| 韩日av一区二区| 国产毛片毛片毛片| 老熟妇高潮一区二区高清视频| 国产精品沙发午睡系列990531| 一个人www欧美| 亚洲 欧美 另类人妖| 久久精品亚洲94久久精品| 精品免费一区二区三区| www.男人天堂网| 韩国av中国字幕| 诱受h嗯啊巨肉高潮| www天堂在线观看| 国产无遮挡裸体免费视频| 国产日韩一区二区三免费高清| 亚洲图片123| 欧美精品videos| 亚洲怡红院在线| 日韩中文字幕网| 欧美一卡二卡三卡| www欧美成人18+| 欧美综合一区二区| 熟妇高潮一区二区高潮| 国产三级按摩推拿按摩| 欧美日本韩国国产| 91免费在线播放| www.中文字幕| 中国丰满人妻videoshd| 精品国产123| 日韩综合一区二区| 国产精品久久久久久久av| 成人成人成人在线视频| 先锋影音av资源站| 国产精品极品| 国产91亚洲精品一区二区三区| 黄色的电影在线-骚虎影院-骚虎视频| 国产精品美女免费看| 日韩有码片在线观看| 成视频在线观看免费观看| av免费在线观看不卡| 在线播放一区二区精品视频| 欧美精品一区二区三区涩爱蜜| 高清中文字幕一区二区三区| 国产美女直播视频一区| 亚洲av熟女国产一区二区性色| 中文字幕三级电影| 欧美亚洲激情在线| 青青视频一区二区| 欧美在线看片| www.成人免费视频| 先锋资源男人站| 精品亚洲a∨一区二区三区18| 国产99在线|中文| 欧美视频三区在线播放| 亚洲3区在线| 北岛玲精品视频在线观看| 日韩av中文字幕在线播放| 开心快乐六月丁香婷婷| 亚洲精选在线视频| 日韩中文字幕在线观看| 波多野结衣欲乱| 国产精品久久国产精麻豆99网站| 国产一卡不卡| 日韩激情在线视频| 国产精品自拍网站| 亚洲精品国产综合区久久久久久久| 成人免费视频久久| 国产伦子伦对白在线播放观看| 奇米影视777在线欧美电影观看| 国产福利电影在线| 农村妇女精品一区二区| 亚洲欧美色婷婷| 欧美电影院免费观看| 欧洲一级毛片| 欧美视频精品在线| 欧日韩不卡在线视频| 国产高清视频免费最新在线| 国产经典第一页| 97超碰人人模人人人爽人人爱| 亚洲国产aⅴ精品一区二区| 91另类视频| 妞干网在线免费视频| 欧美激情精品久久久久久大尺度| 一二三在线视频| 伪装者在线观看完整版免费| 成人看片免费| 天堂社区日本电影超碰| 国产欧美亚洲精品| 日韩在线视频免费看| 中文在线√天堂| 成人免费在线电影| 超碰97在线资源| 粉嫩av蜜桃av蜜臀av| 亚洲黄色毛片| 二区三区在线| 这里只有视频精品| 欧美精品一区二区蜜桃| 成人伦理视频网站| 国产男女激情视频| 国产精品成人免费一区二区视频| 成人观看高清在线观看免费| 女同互添互慰av毛片观看| 99久久99久久精品免费看小说.| 成人免费无码大片a毛片| 日韩av一二三四区| 天天射综合网视频| 水野朝阳av一区二区三区| 懂色av色香蕉一区二区蜜桃| 久久久久xxxx| 视频三区在线观看| 亚洲乱码av中文一区二区| 91麻豆制片厂| 成人在线视频区| 欧美三级成人观看| 2020中文字幕在线| 青娱乐自拍偷拍|