Applies ToSQL Server 2008 R2 Standard SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise

徵狀

請試想下列案例:

  • 您在 Microsoft SQL Server 2008 R2 中有連結伺服器。

  • 連結伺服器上有一個含有 [ SMALLDATETIME 類型] 欄的表格。

  • 您執行 插入 或 插入 INTO 語句,以將包含 DATETIME 類型資料的記錄插入資料表中。

在這種情況下,語句會失敗。 此外,您收到下列錯誤訊息:

連結伺服器 "LinkServerName " 的 OLE DB 提供者 "SQLNCLI10" 傳回訊息「多重步驟 OLE DB 操作產生錯誤。 檢查每個 OLE DB 狀態值(如果有的話)。 未完成工作。Msg 7344、Level 16、State 1、Line 1The OLE DB 提供者 "SQLNCLI10" (針對連結伺服器 "LinkServerName")無法插入資料表 "ColumnName",因為欄 "ColumnName"。 轉換失敗,因為資料值溢出了提供者所使用的資料類型。

原因

這個問題是由 SQL Server 中的資料類型對應問題所造成。

解決方案

累積更新資訊

SQL Server 2008 R2 Service Pack 2

此問題的修正程式是在累積更新3中第一次發行。如需有關如何取得適用于 SQL Server 2008 R2 Service Pack 2 之累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2754552 SQL Server 2008 R2 Service Pack 2 的累積更新套件3注意: 因為組建是累加的,所以每個新的修正程式版本都包含舊版 SQL Server 2008 R2 Service Pack 2 (修正版本)所包含的所有修復程式及所有安全修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2730301 在發行 SQL Server 2008 R2 Service Pack 2 之後發行的 SQL Server 2008 R2 組建

狀態

Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。

因應措施

若要解決此問題,請使用下列其中一種方法:

  • 在語句中將 DATETIME 類型資料轉換成 SMALLDATETIME 類型。

  • 將 [ SMALLDATETIME 類型] 資料行變更為連結伺服器上的 日期時間 類型。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。