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 type 列を持つテーブルがあります。

  • Insertまたはinsert INTOステートメントを実行して、 DATETIME型データを含むレコードをテーブルに挿入します。

このシナリオでは、ステートメントは失敗します。 さらに、以下のエラー メッセージが表示されます。

リンクサーバー "Linkservername" の OLE DB プロバイダー "SQLNCLI10" は、"Linkservername " というメッセージを返しました "複数ステップ OLE DB 操作でエラーが生成されました。 OLE DB の各状態の値 (使用可能な場合) を確認します。 作業は完了しませんでした。 "Msg 7344、レベル16、State 1、Line 1Outlook OLE DB provider "SQLNCLI10" (リンクサーバー "Linkservername" は、列 "ColumnName" のためテーブル "TableName"に挿入できませんでした。 データ値がプロバイダーで使用されているデータ型をオーバーフローしたため、変換に失敗しました。

原因

この問題は、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 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2730301 SQL Server 2008 R2 Service Pack 2 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

回避策

この問題を回避するには、次のいずれかの方法を使用します。

  • DATETIME型データをステートメントのSMALLDATETIME型にキャストします。

  • リンクサーバー上の SMALLDATETIME type 列を DATETIME 型に変更します。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。