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

首頁 > 開發 > 綜合 > 正文

添加Distributor失敗

2024-07-21 02:49:45
字體:
來源:轉載
供稿:網友
添加Distributor失敗

上周做了一個case,客戶無法為SQL Server instance配置remote distributor。 下面分享一下排查問題的過程,希望對您排查類似的問題所有幫助。

客戶的環境中的SQL Server均為sql server 2012 RTM.

Distributor server: SQL108W2K8R22

Publisher: SQL108W2K8R21

Subscriber: SQL108W2K8R23

SQL108W2K8R23為SQL108W2K8R21的訂閱服務器,模式為push.

現在要為SQL108W2K8R23創建發布,將SQL108W2K8R22添加為分發服務器時出錯。

配置時會出現下面的錯誤:

Error 21670只是一般性的登錄錯誤:Connection to server [%s] failed.沒什么價值

于是嘗試手工添加:exec sp_adddistributor @distributor = N'SQL108W2K8R22', @passWord = N'StrongPassword'

得到下面的錯誤:

Msg 18483, Level 14, State 1, Line 1

Could not connect to server 'SQL108W2K8R22' because 'distributor_admin' is not defined as a remote login at the server. Verify that you have specified the correct login name.

搜索了錯誤信息,得到下面這篇 KB

http://support.microsoft.com/kb/818334

按照KB上進行檢查,發現這三臺SQL SERVER的@@servername和hostname都是匹配的,這篇KB沒有起到效果。

確認在添加前,distributor SQL108W2K8R22已經將SQL108W2K8R23添加為發布服務器。

在distributor里找到了名稱為SQL108W2K8R23的linked server,也可以在sys.servers查看到相應的記錄

在distributor中的sys.link_logins中也包含distributor_admin相應的記錄。

雖然 SQL108W2K8R23添加remote distributor失敗,但仍然創建名為出[repl_distributor]的linked server。

于是在distributor和SQL108W2K8R23上同時抓取trace,看看添加remote distributor(sp_adddistributor)時究竟發生了什么。

在SQL108W2K8R23的trace中,發現SQL108W2K8R23通過linked server repl_distributor向distributor 提交一個查詢,用于比對distributor 上SQL 版本。

EXEC @retcode = repl_distributor.master.sys.sp_executesql N'select @dist_ver = @@microsoftversion', N'@dist_ver bigint output', @dist_ver output

這個語句是添加distributor操作中的最后一個語句。

查看distributor上的trace,發現distributor上沒有接收到任何語句,只有之前提到的報錯信息

看起來linked server可以工作,成功地將語句發送到了target server(distributor),可能是linked server有些信息沒有傳遞給distributor或者是distributor缺失了一些metadata。但檢查了linked server的屬性,沒有發現異常。但如果是metadata丟失的話,那么刪掉重建應該是不錯的選擇:

于是嘗試將SQL108W2K8R23從distributor的publisher list中刪除,并再次添加. 但在刪除的時候出現如下錯誤:

真是諸事不順!打開PRofiler trace,發現UI操作實際上執行的是exec sp_dropdistpublisher @publisher = N'SQL108W2K8R21',@no_checks=1

于是手工執行了一把,得到了同樣的錯誤:

Msg 20584, Level 16, State 1, Procedure sp_MSrepl_check_server, Line 67

Cannot drop server 'SQL108W2K8R21' because it is used as a Subscriber to remote Publisher 'SQL108W2K8R23' in replication.

在sp_dropdistpublisher內部,主要會調用兩個存儲過程:

sys.sp_dropremotelogin@publisher,'distributor_admin','distributor_admin'

sys.sp_dropserver @publisher, 'droplogins'

sp_dropremotelogin的作用如下:

Removes a remote login mapped to a local login used to execute remote stored procedures against the local server running SQL Server

而sp_dropserver內部調用了sp_MSrepl_check_server,檢查(distribution.dbo. MSsubscriber_info)將要刪除的publisher是否同時也是一個訂閱。如果是,就拋出異常,然后退出。

不幸的是,sp_dropremotelogin和sp_dropserver是單獨執行的,并不在一個事務里。所以雖然最終執行失敗,但sp_dropremotelogin造成的影響卻沒有回滾。

將distribution.dbo. MSsubscriber_info里的相關記錄刪除。

然后將publisher刪除后重建,之后添加distributor的操作就成功了J

擴展:

1)

sp_dropremotelogin:Removes a remote login mapped to a local login used to execute remote stored procedures against the local server running SQL Server

sp_addremotelogin:Adds a new remote login ID on the local server. This enables remote servers to connect and execute remote procedure calls.

MSsubscriber_info :it contains one row for each Publisher/Subscriber pair that is being pushed subscriptions from the local Distributor. This table is stored in the distribution database.

這些存儲過程和表都是sql server 2000時代的產物,用于linked server相關操作。在2005里就已經depreciated。

2)后來分析了內部的調用邏輯,實際上只需要在distributor執行sp_addremotelogin就可以解決這個問題,沒有必要重建. 如果您以后遇到了下面這個錯誤,可以嘗試在distributor中執行sp_addremotelogin。

Could not connect to server 'SQL108W2K8R22' because 'distributor_admin' is not defined as a remote login at the server. Verify that you have specified the correct login name.

3)如果在移除publisher時遇到下面的錯誤,可以將distribution.. MSsubscriber_info的相關記錄刪除,然后再次嘗試。

Cannotdropserver'server1'becauseitisusedasaSubscribertoremotePublisher'serve2'inreplication.

4)您在SQL SERVER 2014版本的distributor中不會遇到第三個問題,這并因為不是sp_addDistributor或sp_dropdistpublisher在2014中有了邏輯上變更,而是在添加訂閱的時候,不會在向distribution.. MSsubscriber_info插入記錄。這樣sp_MSrepl_check_server就不會拋出異常了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品99久久久久久久久| 国产精品∨欧美精品v日韩精品| 亚洲精品电影在线| 亚洲精品欧美极品| 久久成人一区二区| 26uuu另类亚洲欧美日本老年| 91精品视频专区| 91亚洲精品一区二区| 91精品免费久久久久久久久| 亚洲精品色婷婷福利天堂| 日韩av中文字幕在线| 午夜精品一区二区三区在线视频| 97视频在线观看亚洲| 国产激情999| 日韩三级成人av网| 国产精品稀缺呦系列在线| 国产91亚洲精品| 久久久久久亚洲精品中文字幕| 亚洲欧洲日本专区| 最近2019年日本中文免费字幕| 狠狠色狠狠色综合日日五| 社区色欧美激情 | 国产美女精彩久久| 欧美日韩亚洲国产一区| 亚洲视频精品在线| 欧美高清自拍一区| 国产亚洲视频在线观看| 色偷偷偷综合中文字幕;dd| 亚洲人av在线影院| 91亚洲va在线va天堂va国| 国产成人精品一区二区在线| 91在线观看免费高清完整版在线观看| 77777亚洲午夜久久多人| 亚洲综合成人婷婷小说| 91免费在线视频网站| 亚洲色图综合网| 亚洲专区中文字幕| 在线看国产精品| 欧美成人免费全部观看天天性色| 97精品伊人久久久大香线蕉| 一区二区日韩精品| 欧美日韩免费观看中文| 富二代精品短视频| 久久精品99无色码中文字幕| 欧美成aaa人片在线观看蜜臀| 亚洲性夜色噜噜噜7777| 青青a在线精品免费观看| 日韩综合视频在线观看| 亚洲人成网7777777国产| 亚洲国产私拍精品国模在线观看| 欧美成人免费小视频| 亚洲第一福利网站| 欧美激情视频在线免费观看 欧美视频免费一| 中文综合在线观看| 在线观看日韩www视频免费| 亚洲激情视频网| 国产精品手机播放| 神马久久桃色视频| 精品日韩中文字幕| 亚洲成人久久一区| 91沈先生作品| 91网站在线免费观看| 色av吧综合网| 久久国产精彩视频| 亚洲第一区在线观看| 日韩av在线看| 欧美性猛交xxxx乱大交3| 自拍偷拍亚洲精品| 色妞在线综合亚洲欧美| 亚洲九九九在线观看| 欧美又大粗又爽又黄大片视频| 日韩视频一区在线| 国语自产精品视频在线看| 91啪国产在线| 麻豆成人在线看| 国产精品久久91| 亚洲精品国产精品乱码不99按摩| 一区二区中文字幕| 日韩www在线| 97超视频免费观看| 欧美一区二区视频97| 国产亚洲欧美视频| 久久欧美在线电影| 中文字幕精品www乱入免费视频| 亚洲图中文字幕| 黄色一区二区三区| 萌白酱国产一区二区| 欧美日韩爱爱视频| 国产91精品高潮白浆喷水| 78m国产成人精品视频| 亚洲美女激情视频| 久热精品视频在线观看| 欧美老肥婆性猛交视频| 亚洲伊人久久大香线蕉av| 久久九九国产精品怡红院| 在线色欧美三级视频| 欧美性猛交xxxx乱大交蜜桃| 91亚洲永久免费精品| 日韩欧美在线网址| 亚洲性无码av在线| 欧美精品中文字幕一区| 亚洲最大福利网| 亚洲一二三在线| 日韩在线视频观看| 久久久噜久噜久久综合| 岛国av一区二区在线在线观看| 久久精品国产成人| 91在线色戒在线| 美日韩丰满少妇在线观看| 午夜精品一区二区三区视频免费看| 欧美成人午夜剧场免费观看| 国产日韩欧美在线观看| 欧美限制级电影在线观看| 日韩精品高清视频| 久久人91精品久久久久久不卡| 亚洲人成电影网站色| 国产精品专区一| 欧美精品在线网站| 国产精品福利在线| 日韩av网站导航| 国产伦精品一区二区三区精品视频| 国产精品嫩草影院一区二区| 97在线视频观看| 久久伊人91精品综合网站| 国产中文日韩欧美| 精品国产乱码久久久久久婷婷| 久久婷婷国产麻豆91天堂| 亚洲国产精品视频在线观看| 日韩视频在线免费| 26uuu日韩精品一区二区| 亚洲欧美日韩图片| 国产aaa精品| 91久久久国产精品| 亚洲精品美女免费| 亚洲精品av在线播放| 国产美女91呻吟求| 亚洲一区二区三区在线免费观看| 日韩精品免费电影| 亚洲欧洲午夜一线一品| 日韩精品在线影院| 亚洲成人黄色在线观看| 亚洲欧美色婷婷| 欧美精品日韩www.p站| 日韩精品高清视频| 中文字幕欧美精品在线| 国产精品久久久久久av福利| 久久久精品一区| 欧美大肥婆大肥bbbbb| 精品av在线播放| 亚洲视频在线看| 日韩免费精品视频| 亚洲韩国欧洲国产日产av| 狠狠躁夜夜躁人人爽超碰91| 5252色成人免费视频| 精品久久久视频| 国产91在线播放九色快色| 亚洲人午夜精品免费| 国产99久久久欧美黑人| 精品中文字幕在线观看| 欧美极品少妇xxxxx| 亚洲毛片在线免费观看| 国产99视频在线观看| 热久久视久久精品18亚洲精品| 亚洲人成毛片在线播放|