1

この問題を解決することについてインターネットにたくさんの情報があることを私は知っています、しかしそれは私を助けませんでした。

私のDelphiアプリケーションは、dbExpressコントロールを使用してデータベースにアクセスし、SQLクエリを実行します。ただし、数日に1回は、データベース接続が失敗したために機能しなくなります。これは、Windowsのバージョンが異なる複数の異なるコンピューターで発生します。MSSQL Server 2005(バージョン9.0.4035)がそれぞれにインストールされています。

上記のアプリケーションは数秒ごとにクエリを実行し、それらは主に挿入コマンドです。数日ごとに、次のような一連の例外が発生します。

[DBNETLIB] [ConnectionOpen(PreLoginHandshake())]一般的なネットワークエラー。ネットワークのドキュメントを確認してください。

そして、手動で再起動するまで、SQLサーバーにアクセスできなくなります。

インターネットで見つけた情報によると、サービスパックをインストールしたり、レジストリエントリを変更したりする必要がありますが、これらはどれも役に立たず、他に何をすべきかわかりません。

この問題の解決を手伝っていただけませんか。手がかりやアイデアはありますか?必要に応じて、サーバーまたはアプリケーションに関する詳細情報を提供できます。

事前にどうもありがとうございました。

4

1 に答える 1

2

接続文字列はどのように見えますか?ネットワーク接続間にファイアウォール(ハードウェアまたはソフトウェア)がありますか?

アイデアについては、このリンクを確認してくださいhttp://blogs.msdn.com/sql_protocols/archive/2005/10/29/486861.aspx

投稿を読み直すと、SQLServerを再起動する必要があるのは非常に興味深いことです。これはかなり深刻な問題です。通常、これらのネットワークエラーは、SQLに関連しないアイテムが原因で一時的に発生します。おそらく、すべての接続を適切に閉じていません。SQLサーバーで「netstat-an」を実行して、tcpip接続がいくつ残っているかを確認します。エンタープライズマネージャーも見てください。SQL Serverを再起動する必要があったため、最初に確認するのはSQL Server自体のエラーログであり、次にWindowsイベントログです。

これらすべてを確認した後の次のステップで、まだ問題が発生している場合は、Microsoftでトラブルチケットを開くことを強くお勧めします。それは通常高価ではなく、彼らはこの種のものにかなり優れています。

于 2010-05-08T03:06:31.657 に答える