@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

SQL2000のbcpでのCreate Indexでネットワークエラー!

1
投稿者投稿内容
moondog
大ベテラン
会議室デビュー日: 2003/04/11
投稿数: 165
投稿日時: 2003-11-07 16:26
お世話さまです。

Windows2000サーバ+SQL-Server2000上のDBを
BCPユーティリティを使ってバッチ更新しているのですが、
CreateIndexのところで必ずといっていいほど下記のエラーがでます。

===================================
DB-Library: SQL Server からの予期しない EOF です。
一般的なネットワーク エラーです。マニュアルを調べてください。
Net-Library error 10054: ConnectionCheckForData (CheckforData()).
DB-Library: DBPROCESS が無効かまたは利用できません。
===================================

具体的には、当該BATファイルは下記のような処理の流れになっています。
@8テーブル(1テーブルにつき30万件ほど)のインデックスを削除
A8テーブルにデータを追加(1テーブルにつき3000件ほど)
B8テーブルにインデックスを作成

@、Aは正常に行われ、Bの過程の1番目のテーブルは正常終了し、
2〜6番目で上記のエラーが出て7、8番目のテーブルでは正常終了します。

で、Bの処理だけを切り出して別途実行すると全8テーブルのCreateIndex処理が
全て正常に終了します。

メモリの関係なんでしょうか?
メモリは1.3Gほど積んでおり、サーバのハードのスペック的には問題ない
と思っています。

ちなみに、全く同様の処理をWinNT4.0+SQL-Server7.0上で
行っても、エラーは発生しません。

SQL-Server2000のEnterpriseManagerの環境設定か何かで
回避可能でしょうか?

ご教示頂ければ幸いです。m()m
moondog
大ベテラン
会議室デビュー日: 2003/04/11
投稿数: 165
投稿日時: 2003-11-07 16:28
補足です。

Net-Library error 10054
についてネットで調べたところSP3aを充てることで解決する
というような記事をMSのサイトで見かけたので充てて実行してみましたが、
結果は同じでした。
moondog
大ベテラン
会議室デビュー日: 2003/04/11
投稿数: 165
投稿日時: 2003-11-10 10:11
自己レスです。

SQL-Serverに割り当てるメモリを固定にしたところ、
当該エラーはでなくなりました。

1.3Gのメモリを積んでいたんですが、動的に最大まで
取れるようにしていたのがダメだったようです。

メモリ固定で徐々に少なくしていったところ、
700Mぐらいでエラーが発生しなくなりました。

宝の持ち腐れというか、何か釈然としないのですが…^^;
1

スキルアップ/キャリアアップ(JOB@IT)