IIS7からのServer2008に対するSQLクエリに問題があります。更新ステートメントを実行するVB.NETクラスライブラリがあります。接続の作成に使用される基になるコードは変更されていませんが、テスト環境と開発環境で突然クエリが失敗します。ただし、本番環境で少し古いコードを使用しても、同じサーバー/データベースに対しては機能します。
web.configで接続タイムアウトを設定しようとしましたが、原因を説明できません。
クエリの基本構造は次のとおりです。
Dim conn = New SqlConnection()
conn.ConnectionString = "Data Source=someserver\sqlexpress2008;Initial Catalog=DatabaseName;User ID=sa;Password=pass"
conn.Open()
Using cmd As SqlCommand = conn.CreateCommand()
cmd.CommandText = "UPDATE ..."
cmd.Parameters.AddWithValue("@UName", user.name)
cmd.ExecuteNonQuery() 'fails with error
End Using
エラーは次のとおりです。
サーバーにリクエストを送信するときに、トランスポートレベルのエラーが発生しました。(プロバイダー:TCPプロバイダー、エラー:0-既存の接続がリモートホストによって強制的に閉じられました。)
IISとSQLサーバーを再起動しようとしましたが、まったく考えがありません。修正が必要です