FIX:DTS 物件傳輸無法傳輸超出 64 KB 的 BLOB 資料

文章翻譯 文章翻譯
文章編號: 257425 - 檢視此文章適用的產品。
BUG #: 53859 (SQLBUG_70)
全部展開 | 全部摺疊

徵狀

所傳輸之資料庫 DTS 的 textntextimage 資料行中,如有任何資料列大於 64 KB,則資料轉換服務 (DTS) 物件傳輸功能即可能無法成功地傳輸二進位大型物件 (BLOB) 資料。

徵狀各有不同,可能包括:
  • 存取違規或其他例外。
  • SQL Server Enterprise Manager (SEM) 停止回應 (擱置)。
  • 傳輸不正確的資料。
  • 傳輸的資料遭到截斷。

發生的原因

物件傳輸功能會使用 SQL Distributed Management Object (SQL-DMO) 執行傳輸。DMO 的設計不在傳輸每欄位超過 64 KB 的 BLOB 資料。

其他可行方案

「物件傳輸」功能是 [DTS 匯入/匯出精靈] 中,標籤為 [在 SQL Server 7.0 資料庫之間傳輸物件及資料] 的選項。為避免發生<徵狀>一節所述的問題,請使用 [從來源資料庫複製資料表] 選項傳輸具有大量 text、ntext 或 image 資料的資料表。

您可以先使用物件傳輸功能傳輸受影響資料表的結構描述,再使用 [從來源資料庫複製資料表] 選項移動資料 (複製資料表不會傳輸索引、條件約束、權限及其他結構描述詳細資料)。如果只要傳輸結構描述,請先取消選取精靈的 [複製資料] 核取方塊,再使用物件傳輸功能傳輸資料表。

如果要指定來源資料庫中,內含可能會受到此問題影響之 text、ntext 或 image 資料行的資料表,請執行下列查詢:
   USE <source database name>
   GO
   SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS 
   WHERE DATA_TYPE IN ('text', 'ntext', 'image')
				

狀況說明

Microsoft 已確認 SQL Server 7.0 確有上述問題。這個問題已在 Microsoft SQL Server 7.0 之英文版 Service Pack 1 中獲得修正。如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
232570INF:How to Obtain Service Pack 1 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0
如需詳細資訊,請連絡您的主要技術支援提供者。

其他相關資訊

執行 Enterprise Manager (SEM) 的電腦如已安裝 SQL Server 7.0 Service Pack 1 或更新版本,即不會在傳輸超過 64 KB 的 BLOB 資料時,發生存取違規、SEM 執行個體停止回應或其他意外問題。但 DMO 傳輸方法仍會將 BLOB 大小上限限定為 64 KB,因此目的地資料庫中如有超過 64 KB 的 text、image 及 ntext 資料,會在 64000 位元組的位置截斷資料。傳輸記錄目錄中的 <server>.<destination db>.LOG 檔案會報告各資料列的截斷位置:
::錯誤::
傳輸狀態:正在傳輸資料:(資料表 '[dbo].[bigtext]')
資料截斷於資料表 [dbo].[bigtext] 的資料行 2。

					
請注意,即使i資料列遭到截斷,GUI 仍會報告此訊息:
Successfully copied objects from Microsoft SQL Server to Microsoft SQL Server. (已成功地將物件從 Microsoft SQL Server 複製到 Microsoft SQL Server。)
SQL Server 2000 DMO Transfer (或 DTS 的物件傳輸功能) 至多可傳輸 8 MB 大小的文字。如果要嘗試傳輸超過 8 MB 的文字,DTS 傳輸將會失敗,並傳回下列錯誤訊息:
Failed to copy objects from Microsoft SQL Server to Microsoft SQL Server. (無法將物件從 Microsoft SQL Server 複製到 Microsoft SQL Server。)
如果在下 [執行套件] 對話方塊中按兩下失敗的步驟 (複製 SQL Server 物件),會出現下列錯誤訊息:
[SQL-DMO]The Bulk Copy execution failed. ([SQL-DMO] 大量複製執行失敗。)

屬性

文章編號: 257425 - 上次校閱: 2006年11月9日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 7.0 Standard Edition
關鍵字:?
kbbug kbfix KB257425
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com