Tất cả bây giờ và sau đó trong một ứng dụng .NET lượng cao, bạn có thể thấy ngoại lệ này khi bạn cố gắng thực hiện một truy vấn:Làm thế nào để bạn xử lý các lỗi mức vận tải trong SqlConnection?
System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server.
Theo nghiên cứu của tôi, đây là cái gì mà "chỉ xảy ra" và không có nhiều có thể được thực hiện để ngăn chặn nó. Nó không xảy ra là kết quả của một truy vấn xấu, và thường không thể được nhân đôi. Nó chỉ là cây trồng lên có thể một lần mỗi vài ngày trong một hệ thống OLTP bận rộn khi kết nối TCP đến cơ sở dữ liệu đi xấu vì một lý do nào đó.
Tôi buộc phải phát hiện lỗi này bằng cách phân tích cú pháp thông báo ngoại lệ và sau đó thử lại toàn bộ thao tác từ đầu, để bao gồm việc sử dụng kết nối mới. Không ai trong số đó là đẹp.
Có ai có giải pháp thay thế nào không?
Tăng RAM –
Bạn có thống kê về tải trên máy chủ cơ sở dữ liệu của mình khi các lỗi này được ném không? Bạn có thể có một số vấn đề về cơ sở dữ liệu đang gây ra các kết nối không thành công. –
Điều này * không nên * xảy ra, ngay cả dưới khối lượng giao dịch cao. Chúng tôi chạy trung bình 25.000 giao dịch mỗi giây trên Chuẩn SQL Server 2005 và chúng tôi không gặp phải lỗi này. (Trừ khi cụm không thành công, cứ 12 tháng một lần, không phải vài ngày.) Nếu không có thêm thông tin, có vẻ như có sự cố mạng giữa máy chủ cơ sở dữ liệu và máy chủ ứng dụng của bạn. Bạn có thể đăng thêm thông tin? – Portman