本文可協助您解決在 SQL Server 中使用重複批次標籤時,Master Data Services (MDS) 實體型暫存可能會失敗的問題。
原始產品版本:SQL Server
原始 KB 編號: 2712547
徵兆
請參考下列案例:
您可以使用 Microsoft SQL Server MDS 實體型暫存程式將數據匯入 MDS。
您可以使用 資料行來識別批次,將各種 MDS 臨時表 (stg.name) 填入暫存數據
BatchTag。您可以使用相同的
BatchTag值,在不同的 MDS 模型中填入屬於不同實體的個別臨時表。您可以執行必要的預存程式來啟動批次處理。 或者,您可以從 MDS 網站上的整合管理功能區域啟動預備批次。
當您開始預備程式時,您可以使用三個預存程式的其中一個:
stg.udp_名稱_Leaf
stg.udp_名稱_Consolidated
stg.udp_名稱_Relationship
注意
名稱<>佔位元是建立實體時指定的臨時表名稱。
下列範例示範如何使用預備預存程式啟動暫存程式:
exec mds.stg.udp_entityname1 'versionAdescription',0,'batchtag'exec mds.stg.udp_entityname2 'versionBdescription',0,'batchtag'
在此案例中,當您啟動預備程式時,會收到下列錯誤訊息:
MDSERR310029
指定批次的狀態無效。
此外,當您檢查批次狀態時,您會發現具有 BatchTag 值的批次會無限期停滯在 [執行中] 狀態中。
注意
您可以按兩下 [整合管理 ],然後選取模型來檢視狀態,或查詢 [mdm].[tblStgBatch] 數據表,以檢查 MDS 網站的批次狀態。
原因
發生此問題的原因是 MDS 實體型暫存進程會檢查狀態, BatchTag 而不論 MDS 模型為何。
解決方法
如果您的批次停滯在 [執行中] 狀態,請停止批處理,然後嘗試再次處理批次。 若要停止批處理,請執行 SQL 語句: Exec [mdm].[udpStagingBatchQueueActivate]。 若要解決此問題,請將臨時表中的 BatchTag 值更新為新名稱。 此外,請確定 importstatus_ID 欄位已針對記錄設定為 0 。
其他相關資訊
如需啟動預備程式的詳細資訊,請移至下列網站: