FIX: 合併複寫代理程式失敗,並顯示錯誤訊息: 「 無法複寫檢視表或函式 」

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:299649
本文已封存。本文係以「現狀」提供且不會再更新。
Bug #: 234529 (SHILOH_BUGS)
徵狀
如果您新增只有結構描述的發行項,檢視或預存程序這類的 「 合併代理程式 」 可能會失敗且不新增參照的資料表的為合併列印] 出版物,就會發生這個錯誤訊息:
錯誤 208: 無效的物件名稱 'object_name'。
無法複寫檢視表或函式,所以被參考的物件或資料行沒有出現在 「 訂閱者 」 上。
當您新增參考的資料表合併式發行集之後您將加入結構描述只文章和在產生初始快照集的發行集之後時,也可能會發生這種行為。
發生的原因
sysmergeschemachange 合併系統資料表包含已發佈由 「 快照集代理程式 」 所產生的文件的資訊。當參考的資料表加入只有結構描述的發行項之後時,參考的資料表 schemaversion 大於 schemaversion 結構描述只文章,造成錯誤。
解決方案
如果要解決這個問題,取得最新的 Service Pack,SQL Server 2000。如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
290211INF: 如何取得最新的 SQL Server 2000 Service Pack
其他可行方案
若要檢視或預存程序發行項加入合併式發行集時,請避免這種行為,也新增檢視表或合併式發行集的預存程序所參考的所有資料表。
狀況說明
Microsoft 已確認這是在 SQL Server 2000 中的問題。這個問題已經先在 SQL Server 2000 Service Pack 1 中獲得修正。
其他相關資訊
當您新增結構描述只合併發行項如檢視或預存程序時,只會發生這個問題。當您新增資料表合併發行項時,就不會發生這種行為。

重製行為的步驟

  1. 建立名為 t1 的資料表 (c1 int 主索引鍵,c2 int,c3 uniqueidentifier rowguidcol)。
  2. 建立一個名為 t2 成檢視模式:
     select * from t1					
  3. 建立合併式發行集與 t2,為發行項。
  4. 執行 「 快照集代理程式 」。
  5. 執行 「 合併代理程式 」。
  6. 「 合併代理程式 」 失敗,並顯示此錯誤訊息:
    無法複寫檢視表或函式,所以被參考的物件或資料行沒有出現在 「 訂閱者 」 上。
  7. 將 t1 為發行項新增到合併式發行集。
  8. 執行 「 快照集代理程式 」。
  9. 執行 「 合併代理程式 」。
  10. 「 合併代理程式 」 失敗,並顯示此錯誤訊息:
    無法複寫檢視表或函式,所以被參考的物件或資料行沒有出現在 「 訂閱者 」 上。

警告:本文為自動翻譯

內容

文章識別碼:299649 - 最後檢閱時間:01/16/2015 22:45:11 - 修訂: 3.2

Microsoft SQL Server 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB299649 KbMtzh
意見反應