|
分類:[.NET 全般]
【環境】 VS2003(C#) .net Framework 1.1 SQLServer2000
お世話になります。
現在TableAからTableBに一括でデータコピーした際に、下記のエラーが発生しております。 「タイムアウトに達しました。操作が完了する前にタイムアウト期間が過ぎたか、またはサーバーが応答していません。」 実装方法としては、「Insert Into TableB Select・・・from TableA」というような一般的な InsertSelectのSQLをExecuteNonQueryで実行しています。 CommandTimeoutは明示的に長く(30000)設定されています。 件数はかなり多く、4000万件ほどが対象となっている状況です。 ただ、実行しているSQLをクエリアナライザから実行すると、約15分ほどで処理が完了します。
今私が考えているのは、トランザクションタイムアウトのほうでひっかかっているのかな、ということです。 別プロジェクトでVS2005 C#2.0 SQLServer2005で開発していた際には、TransactionScopeを使用して トランザクションタイムアウトをプログラムから設定していたのですが、 今調査しているのはVS2003 SQL2000の環境のためよくわかっておりません。 いろいろと調べているのですが、トランザクションタイムアウトの設定をどのように行うか、 おわかりでしたら教えていただけますか。
宜しくお願いします。
|