日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
簡(jiǎn)述SQLServerReplication的常見(jiàn)錯(cuò)誤及其處理

SQL Server Replication的常見(jiàn)錯(cuò)誤以及處理錯(cuò)誤的方法如下,請(qǐng)讀者參考:

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括景谷網(wǎng)站建設(shè)、景谷網(wǎng)站制作、景谷網(wǎng)頁(yè)制作以及景谷網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,景谷網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到景谷省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

1. 錯(cuò)誤:已將此(這些)訂閱標(biāo)記為不活動(dòng),必須將其重新初始化。需要?jiǎng)h除NoSync 訂閱,然后重新創(chuàng)建它們

對(duì)數(shù)據(jù)庫(kù)distribution操作:

 
 
 
 
  1. use distribution  
  2.  
  3. go 

查找狀態(tài)不正常的發(fā)布:

 
 
 
 
  1. select status,*from dbo.MSsubscriptions where status <>2 

修改狀態(tài):

 
 
 
 
  1. update dbo.MSsubscriptions set status=2where status<>2 

觀察復(fù)制鏈?zhǔn)欠衲苷_\(yùn)行,正常后用tablediff比較發(fā)布鏈中的表數(shù)據(jù)是否一致,還可以重新初始化快照,但是數(shù)據(jù)量大就是個(gè)悲劇。

2.錯(cuò)誤:表、存儲(chǔ)過(guò)程不存在以及表結(jié)構(gòu)不一致等

處理方法:

a. 表或存儲(chǔ)過(guò)程不存在:

在訂閱端對(duì)應(yīng)的庫(kù)中補(bǔ)齊缺失的對(duì)象。

有一種比較奇怪的現(xiàn)象是訂閱端表明明存在,但是同步鏈依然報(bào)錯(cuò),此時(shí)可能有兩種情況:

***: 表字段不一致,可以參照下面(b)的方式補(bǔ)齊表字段;

第二: 表字段也一致,但是依舊報(bào)錯(cuò),這時(shí)只能選碰碰運(yùn)氣,先停掉同步鏈,再開啟,如果過(guò)了,算運(yùn)氣好;如果錯(cuò)誤依舊,就需要在該同步鏈中先將該表去掉,讓其他數(shù)據(jù)能同步;然后再將這個(gè)表新加到同步鏈中,并比較發(fā)布端和訂閱端的表數(shù)據(jù)。

b. 列名'xxx' 無(wú)效:

可以通過(guò)以下語(yǔ)句查找缺失的字段對(duì)應(yīng)的表,查找某個(gè)發(fā)布鏈中的某個(gè)字段(Rp_XXXX 發(fā)布名xxx 字段名)

 
 
 
 
  1. select a.name as table_name,b.name as column_name,(select 'alter table '+a.name+' add '+b.name+' '+  
  2.  
  3. (case when name='nvarchar' then cast(b.max_length/2 AS varchar)  
  4.  
  5. when name like 'date%' or name='money' then ''  
  6.  
  7. else name end )  
  8.  
  9. from sys.types where system_type_id=b.system_type_id ) as definition FROM dbo.sysarticles a WITH(NOLOCK) inner join sys.columns b WITH(NOLOCK)  
  10.  
  11. on a.objid=b.object_id inner join dbo.syspublications c with(nolock) on a.pubid=c.pubid  
  12.  
  13. where c.name='Rp_XXXX' and b.name='xxx' 

3. 錯(cuò)誤:主鍵沖突

處理方法:跳過(guò)錯(cuò)誤

錯(cuò)誤完成后,需要比較兩邊數(shù)據(jù)是否一致(比下數(shù)據(jù)量就行了)

#p#

4. 錯(cuò)誤:應(yīng)用復(fù)制的命令時(shí)在訂閱服務(wù)器上找不到該行

a. 可以采用“主鍵沖突”錯(cuò)誤的處理方式,跳過(guò)錯(cuò)誤,然后再用tablediff比較兩個(gè)表的數(shù)據(jù)差;

b. 在訂閱端補(bǔ)充缺失的數(shù)據(jù)

使用如下語(yǔ)句找出錯(cuò)誤號(hào)

 
 
 
 
  1. select top 100 e.xact_seqno ,e.command_id,e.* from dbo.MSdistribution_history h  
  2.  
  3. join dbo.MSrepl_errors e on h.error_id=e.id  
  4.  
  5. where comments not like %transaction% 

用上面查到的具體事務(wù)序列號(hào),查看復(fù)制組件執(zhí)行的具體命令。

在分發(fā)數(shù)據(jù)庫(kù)上執(zhí)行sp_browsereplcmds,注意必須限定開始和結(jié)束xact_seqno。

sp_browsereplcmds '0x000101E500018C16000100000000','0x000101E500018C16000100000000'

找到對(duì)應(yīng)的對(duì)象:

 
 
 
 
  1. Use [distribution]  
  2.  
  3. go  
  4.  
  5. select * From dbo.MSarticles where article_id=@article_id 

驗(yàn)證上述數(shù)據(jù)在故障訂閱服務(wù)器上是否存在,如果不存在,則補(bǔ)上。

5. 錯(cuò)誤:用戶'xxx' 登錄失敗或者The process could not connect to Subscriber 'xxxx'.

處理方法:檢查賬號(hào)是否正確,能夠登錄到發(fā)布和訂閱服務(wù)器,而且有相應(yīng)的權(quán)限。

6. 發(fā)布'xxx' 的初始快照尚不可用

保證SQLSERVERAGENT已經(jīng)運(yùn)行,復(fù)制=》發(fā)布內(nèi)容=》發(fā)布項(xiàng)目=》右擊右側(cè)的訂閱=》重新初始化。

如果還不行,復(fù)制監(jiān)視器--發(fā)布服務(wù)器--xxx--發(fā)布的項(xiàng)目--快照,看到進(jìn)程未能創(chuàng)建文件"\\XXZ\SQLPUB\unc",到該文件夾重新配置sql的帳號(hào)對(duì)該文件夾權(quán)限為"完全"。

7. 進(jìn)程未能從表“[dbo].[syncobj_0x3745373834413345]”向外大容量復(fù)制

在寫B(tài)CP 數(shù)據(jù)文件時(shí)發(fā)生I/O 錯(cuò)誤(源: ODBC SQL Server Driver (ODBC); 錯(cuò)誤代碼: 0)

解決方法:就是字符類型全部改為n類型的解決問(wèn)題(char-nchar,varchar-nvarchar,ntext)。

8. 錯(cuò)誤消息:"代理'xxxx' 在出錯(cuò)后正在重試。已重試了25 次。有關(guān)詳細(xì)信息,請(qǐng)參閱Jobs 文件夾中的代理作業(yè)歷史記錄?!?/strong>

發(fā)生這個(gè)錯(cuò)誤一般都是在一臺(tái)機(jī)器上面有比較多的發(fā)布鏈,錯(cuò)誤原因在于數(shù)據(jù)庫(kù)對(duì)Replication使用內(nèi)存的限制,我們需要更改這個(gè)現(xiàn)在來(lái)解決這個(gè)問(wèn)題(***是不要再一臺(tái)機(jī)器上創(chuàng)建太多的發(fā)布鏈),方法如下:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\點(diǎn)開Windows項(xiàng),找到下面這些內(nèi)容:%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,20480,768將***的數(shù)字(不一定是這個(gè)數(shù)字,可能是等)改成10240 保存,重啟即可。p>Windows2008 server 如果不是amdin用戶可能會(huì)不讓打開注冊(cè)表,如果是管理組權(quán)限的話,可以到C:\windows\system32 下面找到regedit32.exe 文件,右鍵,然后將自己的賬號(hào)添加到運(yùn)行權(quán)限里面。


分享文章:簡(jiǎn)述SQLServerReplication的常見(jiàn)錯(cuò)誤及其處理
鏈接分享:http://m.5511xx.com/article/cdjooji.html