SELECT *を実行するアプリケーションの記述が不十分なため、数秒ごとに2MBの結果セットが生成されます。これは修正できません。ただし、ASYNC_NETWORK_IOが待機している接続に遭遇したため、混乱しています。アプリケーションはデータベースサーバーに対してローカルです。
Dm_exec_connectionsのsession_idが「共有メモリ」であることを確認しました。 client_net_addressは「ローカルマシン」です。
これまでにこれを経験した人はいますか?または、なぜこれが起こっているのかを私に説明できますか?
ありがとう!
ASYNC_NETWORK_IOは、アプリがSQLServerからデータを十分に速く読み取っていない場合にも発生します。これはSQLServerの問題ではなく、アプリの問題であることに注意してください。アプリがデータを行ごとではなくセットとして読み取っていることを確認してください。
アプリケーションがローカルであっても、通信はネットワークプロトコルを使用して行われます。したがって、遅いデータ転送は、ローカルマシン上でもASYNC_NETWORK_IOとして表示されます。