• 締切済み

ASPのサービスが停止してしまう

はじめまして、高橋です。OKWebは初めてです。 ASPで社内用のWebアプリケーションを作成し、運用中なのですが 時々(現在のところ2~3日に1度)、サーバのASPのサービスだけが 停止してしまい困っています。 ASPが実行できなくなってもノーマルなHTMLファイルは正常に表示されます。 サーバを再起動すれば復活するのですが・・・ 具体的には 最初のユーザー認証の画面(ASPファイルですが、DBへのアクセスは無し) は表示されるのですが、パスワード確認用のスクリプトへSUBMITすると 砂時計状態になってしまいます。 どうもDB(mdb)へアクセスする部分で停止しているような気がします。 サーバはNTServer4.0 + IIS4.0です。 社内の人間に聞き取り調査をした結果、 以下2点の原因らしきものが考えられました。 (1)ASPスクリプト内で作成したオブジェクトを明示的に開放していない事。 これに関してはすべてのオブジェクトについてNothingキーワードにて 明示的に開放しました。   (2)ODBCの設定で、バッファの容量が少ない。 これに関しては初期値が512(KB)になっていたので ひとまず2048(KB)に変更してみました。 以上の対策は取ってみたものの、 未だ原因がわからず不安定な状態が続いています。 皆様は、同様の経験がありますでしょうか? もしくは、別にこんなことが考えられるといったご意見もありましたら御教授ください。 よろしくお願いします。

noname#380
noname#380

みんなの回答

  • kawabata
  • ベストアンサー率67% (21/31)
回答No.3

IIS のリスタート方法は、IIS 5.0 の場合、iisreset コマンドなどで行えます。 IIS 4.0 の場合は、IIS の関連するすべてのプロセスを強制終了させる必要があります。 特に、MTS 関連を確実に終了させないと、あとの動作に問題が発生します。 次に、停止の原因ですが、どの処理で発生しているのか、確認していただければと思います。 確認方法としては、イベントログに出力する方法があります。 イベントログに出力する関数は、次のようになります。 Sub TraceEventLog(intType, strMessage)  Dim wshShell  Set wshShell = Server.CreateObject("Wscript.Shell")  wshShell.LogEvent intType, strMessage End Sub intType には、0,1,2,4,8,16 の値を設定します 0:成功, 1:エラー, 2:警告, 4:情報, 8:成功の監査, 16:失敗の監査になります。 呼び出し方は、 TraceEventLog 1, "ODBCエラーです" のようになります。 スクリプトの処理中にエラーが発生して、処理が停止してしまった場合にも、イベントログにどこまで処理が行われたか、確認することができます。 確認していただければと思います

参考URL:
http://www.kawabata.com/
  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.2

 ASPだけの再起動ではありません。  『IISのサービスの再起動です。』  スクリプトは面倒なので割愛しますが、マイクロソフトのページにサンプルが載っていたと思います。

  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

私も同様の経験があります。  その時には、ODBCの接続中のエラー処理が不十分で、エラーになったオブジェクトを解放していないのが原因で、次のODBCオブジェクトの生成に失敗して、その失敗に起因して、処理が止まってしまっていました。  ODBCの接続や操作は、必ず失敗するって思い。全ての操作で例外処理を追加して対処した所、サーバ停止の頻度が激減しました。実用レベルまで頻度を落としたとは、サーバの動作を監視して、サービスが停止状態だった場合に、サービスを再起動するスクリプトを組んで、組込むことで対応しました。

noname#380
質問者

お礼

mnabeさん、早速の回答ありがとうございます。 心当たりを再度あたってみます。 回答の中に「サービスを再起動するスクリプトを組んで、 組込むことで対応しました。」という部分がありましたが ASPだけを再起動するにはどうしたら良いのでしょうか?

関連するQ&A

  • エラー 'ASP 0115'

    以下のエラーが表示されるのですが、原因がよくわかりません 。 ----------------------------------------- エラー 'ASP 0115' 予期しないエラーです。 ******.asp 外部オブジェクトでトラップできるエラーが発生しました。 スクリプトの実行を続行できません。 ----------------------------------------- 環境:WindowsNTServer IIS ASP SQLServer7 NTServerから、[他のコンピュータにある共有]の設定で WinXP(クライアント)の共有フォルダを参照しています。 WinXPからローカルアドレスでクライアント自身にアクセスすると表示できるのですがNTServerを経由してアクセスするとエラーで表示されない時がよくあります。 自分で調べた限りでは、ソースコードのエラーではないようです。 ソースコードを更新(クライアント)した時も、更新が反映されません。 NTServerを再起動すると正しく表示できます。 キャッシュを読み込んでいるのでしょうか。 プロキシサーバーも存在しますがこれが影響しているのかは不明です。 ACLの設定も参照先フォルダには、読み取り専用で設定しています。 サーバーを何度も再起動するわけにはいかないので何とかしたいです。 よろしくお願いします。

  • ASPが動かない

    いつもお世話になっています。 WINNT4.0SP6a-IIS3.0の環境でASPを使用したいのですが、 スクリプトが全く動作しません。 下記の2パターンを行って見た結果いずれもNGでした。 --1 --------------------------------------------- <SCRIPT LANGUAGE=VBScript RUNAT=Server> For i = 1 to 7 Response.Write "<FONT SIZE=" & i & ">" Response.Write "Hello! World" Response.Write "</FONT><BR>" & chr(13) & chr(10) Next </SCRIPT> --1 の結果---------------------------------------- ▲このページでスクリプトエラーが発生しました。 エラー:オブジェクトがありません。:'Response' ・・・といったダイアログが表示された -------------------------------------------------- --2 ---------------------------------------------- <% For i = 1 to 7 Response.Write "<FONT SIZE=" & i & ">" Response.Write "Hello! World" Response.Write "</FONT><BR>" & chr(13) & chr(10) Next %> --2 の結果---------------------------------------- 全く何も表示されなかった。 -------------------------------------------------- 確認事項 1)インターネットサービスマネージャーの設定では ASPファイルが格納されているディレクトリの"アクセス"の "実行(X)"にはチェックを入れた 2)インストール手順、 ・NTserver4.0インストール ・IIS2.0インストール ・IE4.0にバージョンアップ ・サービスパック6aにバージョンアップによってIISは3.0になった。 上記のような設定を行いました。 この場合何が原因と考えられますでしょうか? 補足が必要でしたら随時更新いたしますので、 どうか、よろしくお願いいたします。

  • VBScriptでASPのオブジェクトを使う方法

    VBScriptでSQLサーバーのDBにアクセスするためASPのserverオブジェクト を使うと ランタイム エラーが発生しました。デバッグしますか? 行:39 エラー:オブジェクトがありません。:'server' とエラーが表示されます。 おそらく次の行だと思うのですが、何か方法を教えてください。 set objDB = server.CreateObject("ABCDB.DBCon")

    • ベストアンサー
    • HTML
  • Accessで作ったaspが動かない

    AccessのDBをWEBで見えるようにするため、会社のserver(NT4)にIIS4.0をインストールしました。(他のHTML書類はOKです) 本にはAccessから「HTMLで保存」でaspを作成すれば、簡単に見えるように書いてありますが内部サーバーエラー(HTTP-500)で見れません。 何か他にしなければいけないことがあるのでしょうか?

  • サービスの停止について

    サービスとして、 ・管理サーバ ・Webサーバ1 の2つがあります。 各々のサービスをサーバマシン停止時に自動で終了するスクリプトを作成して、デーモンに登録しようと考えています。 その時の条件として「Webサーバ1」を停止する際は、「管理サーバ」が起動している必要があります。 デーモンに、 ・K01_Webサーバ1 ・K02_管理サーバ と登録した場合、スクリプトで制御しない限り、「Webサーバ1」が終了されたことを確認される前に 「K02_管理サーバ」の終了コマンドが実行されてしまうことがあるかと思います。 (1)まず上記の認識は正しいですか? そこで、「K02_管理サーバ」のスクリプトで「Webサーバ1」が終了したかどうか確認するスクリプトを追加して サービスが終了するまでに3分かかったとします。 (2)その場合は、サーバマシンの停止までの時間も通常より3分長くかかってしまうという事になりますか?  (例えば「Webサービス1」の停止がいつまで経っても終わらないような場合は、そこで止まってしまうという  リスクも発生することになるのでしょうか?)   それとも一定時間で強制的に終了されるものですか? 通常、サーバ再起動は「/usr/sbin/shutdown -i6 -g0 -y」を実行して行っています。    よろしくお願いいたします。

  • ASPでファイルアクセス失敗

    ASPでファイルシステムオブジェクトを作成して、 相対パスでホームディレクトリ内のテキストファイルにアクセス しようしてるのですが、ファイルの読み込みができません。 なにかIIS側に設定などがあるのでしょうか? とりあえずアクセス許可関係は全部許可してます。 状態としてはファイル読み込みの処理あたりで停止? しているようで、ブラウザのステータスバーの処理状況ゲージ?が 中間ぐらいでとまってます。 パスの取得、パスからファイルシステムオブジェクトの作成までは うまくいっている模様です。 ファイルの存在チェックはできました。 よろしくお願いします。

  • ASPから異なる複数のDBサーバーに接続する方法

    ASPの質問です。WEBサーバーと複数のDBサーバーがあります。 ADODB.Connectionでオラクルサーバーに接続し、データベースオブジェクトを作成しています。 別々のDBサーバーにあるテーブルを結合して利用したいのですが、ASPで可能でしょうか? 例えば"select * from A,B where A.ID=B.ID"というSQL文を実行する(AとBは別々のDBサーバーにある)。 とりあえず、代替案で検討しているのは片方のDBサーバーにデータベースリンクで他方のDBサーバーのVIEWを作ろうかと思っています。できればASPで解決したいのですが、よろしく御願いします。

  • aspのページが表示できません

    windows 2003 server上に IIS6.0にて仮想ディレクトリを作成し、HTMLファイルは 動くのですが、なぜかASPファイルを表示 しようとすると、ページを表示できませんとなります。 仮想ディレクトリタブの実行アクセス許可は、スクリプト及び実行可能ファイルにして、ドキュメントタブの既定のコンテンツページを有効にチェックを入れ、index.aspを追加し、頭に置いてあります。 aspはマッピングしてあります。 Win2000で試したところ問題なく表示できます。 また、外部との接続はしていません。イントラネットのみです。(前の担当者が設定)初心者なもので全くわかりません。 どなたかご教授お願いいたします。

  • ASPを用いてSQLServerからのデータ取得ができません。

    ASPを使ってSQLServerからのデータ取得ができません。 クライアントのPCから、Webサーバ経由でDBサーバへアクセスすると、 『[Microsoft][ODBC SQL Server Driver]分散トランザクション エラー』 というエラーメッセージが表示されます。 WebサーバとDBサーバが同一PC上にある場合は、問題なく実行できます。 また、同じテーブルを使って、簡単なサンプルコードを実行した場合では、WebサーバとDBサーバが別々のPC上にあっても問題なく動きます。 原因はIIS、もしくはSQLServerの設定にあるのか、それともASPファイルのソース自体にあるのか、わかりません。 どなたかご存知の方、よろしくお願いします。 DBとの接続はADO接続で、環境は、 Webサーバ/WindowsXP Pro、IIS 5.0 DBサーバ/WindowsXP Pro、SQLServer2000 を使っています。

  • ASPが認識されていないよう

    こんにちは。 緊急にASPを勉強する必要が出てきまして、とりあえず基本的な動作の確認だけでもしたいと思いまして、PSWをインストールし、お約束の「Hello!」が表示されるはずのプログラムを書きました。 が、Html部分は表示されるのですが、ASP部分は全く表示されません。 <% Response.Write("Hello!") %>の部分です。 サーバーは実行中です。 アドレスも127.0.0.1で、ローカルサーバーへアクセスしています。 Htmlで書かれた部分は、問題なく表示されています。 拡張子も.aspになってます。 このような状況なので、スクリプトが認識されていないように思います。 原因にお心当たりがありましたら、ぜひ教えていただけないでしょうか? 「Hello!」表示のプログラムとは別に、データベースへアクセスして書き込むプログラムも作ってみたのですが、これは実行すると「エラー501/505 未実装または未サポート」と出てしまいます。 これは、ブラウザ側の問題なのでしょうか? ちなみにブラウザはIEの5.00です。 もしくは、PWSをインストールする際、『インストールしようとしているDLLファイル(だと思います。)よりも新しいファイルがあります。既存のファイルを有効にしますか?』というメッセージが出まして、「既存のファイルを有効にする」でインストールしてしまったのですが、これは原因に関係があるのでしょうか? よろしくお願い致します。

専門家に質問してみよう