• 締切済み
  • すぐに回答を!

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

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数578
  • ありがとう数9

みんなの回答

  • 回答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/

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • エラー 'ASP 0115'

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

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

    サービスとして、 ・管理サーバ ・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側に設定などがあるのでしょうか? とりあえずアクセス許可関係は全部許可してます。 状態としてはファイル読み込みの処理あたりで停止? しているようで、ブラウザのステータスバーの処理状況ゲージ?が 中間ぐらいでとまってます。 パスの取得、パスからファイルシステムオブジェクトの作成までは うまくいっている模様です。 ファイルの存在チェックはできました。 よろしくお願いします。

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

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

共感・感謝の気持ちを伝えよう!

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

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • 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からサーバー上のVBSファイルを引数付で実行したい

    お世話になっております。 ASPで指定名称のフォルダを作成しアクセス権を割り当てる サイトを作成しております。 フォルダの作成は問題なく作成できましたが、アクセス権の指定がうまくいかず困っております。 アドバイスいただければ幸いです。 前提として作成したフォルダへのアクセス権割り当ては、MSで公開しているxcacls.vbsファイルを利用してます。 http://support.microsoft.com/kb/825751/ja このVBSファイルに先に作成したフォルダのネットワークパス・アクセス権を与えるユーザー名・与える権限レベルを引数として与えASPのサーバー上で実行し処理を完結しようと考えております。 ------------------スクリプト抜粋---------------------- Set WSHShell = CreateObject("WScript.Shell") 'xcacls.vbsを実行 'strPathNm = "xcacls.vbs \\fileServer\testfol /G Domain\User:M /f /t /e /q" Call WSHShell.Run(strPathNm, 0, false) -------------------------------------------------------- サーバー上でコマンドプロンプトから実行する限りは問題なく 処理されてます。 ASPサイトから実行した場合は特にエラーなど表示されず処理終了しますが、アクセス権の割り当てはされません。 また実行時にサーバー上で実行されたかタスクマネージャーにて確認してますが、起動された形跡がありません。 ちなみにスクリプトの問題かと思い、「strPathNm」の編集への代入を、メモ帳や電卓に変更したところ正常に起動しております。 ※xcacls.vbsはサーバー上でパス通してあります。 以上よろしくお願いいたします。

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

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

    • ベストアンサー
    • HTML
  • ASPで、サーバ上のスクリプトファイルの実行。

    こんにちは。よろしくお願いします。 環境 ASP Win2003、IIS6、SQLServer2000 イントラネット内環境のみのシステム クライアントPCでWebブラウザを起動して、とあるURLへアクセス。。。 ソースの中のVBS部分に書き込んでおいた、サーバ側のスクリプトファイルがキックされる。。。 サーバ上でスクリプトファイルが実行されてめでたしめでたし。。。 そんな事を思い描いていましたが。。。できませんでしたっけ??@w@; クライアントがアクセスするASPファイル hogehoge.asp -------------------- <% Dim objWsShell '##### Shellオブジェクトのインスタンス化 ##### Set objWsShell = Server.CreateObject("WScript.Shell") '##### シェルを起動する ##### Call objWsShell.Run("D:\abc\abc\Run.vbs", 1, false) '### Shellオブジェクトの破棄 ### Set objWsShell = Nothing %> <html lang="ja"> <head> <title>ほげほげ</title> </head> <body> ほげほげ </body> </html> -------------------- サーバ側に用意してあるスクリプトファイル Run.vbs -------------------- MsgBox "きっくされました。" -------------------- もしくは -------------------- obj.Run "notepad" (前後のobjのCreateあたりは省略。 -------------------- あたりにしても、うんともすんとも。。。 タスクマネージャーを確認すると、WScript、もしくは、Notepadのプロセス自体は動いているようなので、 キック自体は出来ている?ようなのですが、実行ユーザーが「NETWORK SERVICE」になっているため? 動いてはいないような感じに見えます。(CPUの数値が0固定なので。 該当のファイルのアクセス権限あたりは、NETWORK SERVICEに全権限あたえてみたりしたのですが、 自分の知恵じゃそろそろ方法が出なくなってきまして。。。 http://www.f-store.net/asp/parts-kubun.asp?MODE=START2&key=%82v%82r%82g 実際の、サーバ側に用意したスクリプトでは、さらに別のjsファイルをキックして、その中で、とあるWebページにアクセスして、 そのWebページのHTMLソースをテキストファイルとして保存する。という処理をさせています。 。。。サーバ上で、用意したスクリプトを実行すれば、希望通りの動きになるので、後は、上に書いた、クライアントのWebページからキックしたはずの スクリプトソースがちゃんと動けば。。。と思ってます。 やっぱセキュリティ関連に引っかかり。。。?それとも、何か自分がひどい思い違いをしている?? すみませんが、どなたかお知恵をお貸しください。よろしくおねがいします。m(_ _)m 参考:前質問 http://okwave.jp/qa/q6725891.html

  • dreamweaver でaspオブジェクトが不可視

    dreamweaver MX2004を使用しています。 シンプルに 1.サーバーをセットアップ 2.asp C#ファイルを新規作成 3.aspラベルを配置 4.F12キーを押してサーバーにアップロード しますが、オブジェクトが一切現れません。真っ白な 画面が出るだけです。サーバーはASPに対応している ようです。 (www.fatcow.com) 同じような体験をされたかた、何か助言いただけると助かります。もう1週間以上悩んでます。

    • ベストアンサー
    • CSS
  • エラー 'ASP 0115' について

    メールサーバーへ接続し、メールを送信する際、 下記、エラーが生じてしまいます。 ----------------------------------------------- Active Server Pages エラー 'ASP 0115' 予期しないエラーです /sendNoticeMail.asp 外部オブジェクトでトラップできるエラー (C06D007E) が発生しました。スクリプトの実行を続行できません。 ----------------------------------------------- まったく同じプログラムである他のサーバーでは生じないのですし、他のメール送信以外ですとASPは正常に動きます。 レジストリ等の問題でしょうか? いろいろと調べてみたのですがどうしても分かりません。 分かる方、教えてください。よろしくお願いします。

  • 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ファイル(だと思います。)よりも新しいファイルがあります。既存のファイルを有効にしますか?』というメッセージが出まして、「既存のファイルを有効にする」でインストールしてしまったのですが、これは原因に関係があるのでしょうか? よろしくお願い致します。

  • Win2kのServerでASPが動かない

    以下のような状況になって困っています。 Windows2000のProfessionalに IISを導入して、HTMLやASPを動かしています。 こちらでは、特に問題なくHTMLもASPも動いています。 そこで、別のPCでOSが Windows2000 Serverのマシンに同じようにIIS を設定しました。ところが、Serverのほうでは,HTMLはIISを通して見れるの ですが、ASP のファイルを呼ぶと必ず HTTP 500 - 内部サーバー エラー となってしまいます。 HTMLが見えるということはIISが死んでいる、というわけでもないようですし、 IISの仮想フォルダにも、スクリプトの実行権限は与えています。 また、動かないASPは、単純にレスポンスを返しているだけですので、 ODBCまわりの問題でもありません。ASPのマッピングも、外れてません。 で、全然別のPCの Windows2000Serverでは、ASPが動きました。(なぜ?) 今のところ、ASP が動く Windows2000Serverと動かないのとでは、 ORACLE8i(8.1.7)が入っているかどうかぐらいの違いしか分らないのですが (ASPが動かないほうにOracleが入ってます。どっちのWin2kも他人のを  借りてるので、まだ詳しく調べれてないですが) なにかこの辺で情報をお持ちの方はいらっしゃらないでしょうか? (ちなみに、OracleのHTTPサーバサービスは停止させています)

  • 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になった。 上記のような設定を行いました。 この場合何が原因と考えられますでしょうか? 補足が必要でしたら随時更新いたしますので、 どうか、よろしくお願いいたします。

専門家に質問してみよう