10

SQLサーバー2008 x64 r2を使用してvpsサーバーでWebサイトを実行しています。エラーが殺到しています17886-つまり:

セッションがシングル ユーザー モードのときにクライアント ドライバーが複数の要求を送信したため、サーバーは接続を切断します。このエラーは、セッションでバッチがまだ実行されている間にクライアントが接続をリセットする要求を送信した場合、またはセッションが接続をリセットしている間にクライアントが要求を送信した場合に発生します。クライアント ドライバーのベンダーに問い合わせてください。

これにより、SQL ステートメントが破損した結果を返します。私はネット上で見つけたほとんどすべての提案を試しました。

  • 火星あり、なし。
  • プーリングありとなし
  • async=true ありおよびなし

データベースは 1 つしかなく、完全にマルチユーザーです。

すべてが最近インストールされたので、最新です。それらは相関している可能性がありますhigh cpu(ただし、私が見たモニターだけに限定されているわけではありません)。high request rates検索エンジンからの相関も。ただし、高い CPU/リクエストによって SQL 接続がリセットされることはありません。最悪の場合、応答時間が長くなるか、応答の送信を拒否する必要があります。

助言がありますか?私は開発者であり、データベース管理者ではありません。この問題を解決するにはデータベース管理者が必要ですか?

4

4 に答える 4

1

確かではありませんが、一部のクエリがサーバーでデッドロックを引き起こす可能性があります。

このエラーを再度検出した時点で

  • Management Studio を開きます (サーバー上で、必要に応じてインストールします)。

  • 新しいクエリ ウィンドウを開く

  • sp_who2 を実行します。

  • Blocked Byの略であるblkby列を確認します。その列にデータがある場合は、デッドロックの問題があります (通常、添付したスクリーンショットのように完全に空になっているはずです)。

デッドロックがある場合は、次のステップに進むことができます。でも今のうちに確認しておいてください。

ここに画像の説明を入力

于 2013-01-10T08:35:38.013 に答える
0

17886 がスローされるたびにメールを送信するイベント ログ タスクを作成します。次に、すぐにデータベースに移動して sp_who2 を実行し、blkby spid を取得して、dbcc 入力バッファを実行します。できれば、eventinfo が、もう少し具体的なものを提供してくれることを願っています。

sp_who2

DBCC INPUTBUFFER(62) GO

于 2015-07-08T10:17:45.273 に答える
0

上記のエラーを修正するには、「MultipleActiveResultSets=True」を接続文字列に追加する必要があります。

イベント ID 17886 MSSQLServer経由– サーバーは接続を切断します

于 2015-04-07T15:56:52.127 に答える