- - PR -
SQL Server Enterprise Managerにてタイムアウト
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-03-04 19:49
いつもお世話になります。
掲題の件ですが、SQL Server Enterprise Managerにおいて、 あるプログラムの更新対象となるテーブル(何でも良い)を開き編集できる状態にしておきます。 その後、プログラムを実行し数十秒経過すると 「タイムアウトに達しました。操作が完了する前にタイムアウト期間が過ぎたか、またはサーバーが応答していません。」 という例外が発生します。 原因としては、テーブルを開き編集できる状態にすることで、対象テーブルにロックが掛かり、 解除するまで他から更新できない。 と考えれば妥当な事なのですが、調べてみたところ、同じ状態で同じ処理をしてみても 更新できてしまうマシンが何台もあるのです。 そこで色々と差異を調べてみたのですが、SQLServerやOSのビルドバージョンもすべて一致し 、各種プロパティも見ましたが、視覚的な部分では、差異がありませんでした。 他のマシンから、自分のマシンのテーブルを開いた状態にしてもらったり(ここでいう”開いた状態”とは、 Enterprise Managerを使用して、という意味です。) 、更新できてしまうマシンのテーブルを自分のマシンからテーブルを開いた状態にしたり、など実験を行い一つの手がかりは分かりました。 それは、”テーブルを保持する側のデータベースサーバーに依存する。”ということです。 システムの保守をするにあたって、Enterprise Managerを開きっぱなしにしておいた方が 便利だったりするので、出来ればテーブルを開いた状態でも外部から更新できるようになった方が良いのですが、その設定方法などをどなたかご存知でしたらご教授いただきたいと思っております。 環境は、 OS:Windows2000 Professional (SP4) DB:SQLServer Developer Edition 8.00.760(SP3) VisualStudio .NET 2003 .NET Framework 1.1 (ちなみにWindows2003 Serverでもロックが掛かる現象が起きています。) スレッド違いかもしれませんが、どうぞよろしくお願いいたします。 [ メッセージ編集済み 編集者: MI 編集日時 2005-03-07 14:48 ] |
|
投稿日時: 2005-03-08 15:20
発生する現象の特定が出来ました。
更新対象のテーブルが大きい(データ量的に)場合にのみ、発生するようです。 レコードが1件も存在しない状態から始めると、大体6000件ぐらいまでは SQLServer EnterPrise Manager(SEM)からテーブルを開いた状態でも 更新が可能でした。 しかし、解決方法までは至っておりません。 以上、取り急ぎご連絡まで。 |
1