Đã xảy ra lỗi cấp độ vận chuyển khi gửi yêu cầu đến máy chủ


8

Trong ứng dụng Vb.net của chúng tôi (userd trong kết nối mạng cục bộ bên trong văn phòng), được sử dụng từ lâu, một số người dùng chỉ nhận được lỗi đôi khi một ngày

Đã xảy ra lỗi cấp độ vận chuyển khi gửi yêu cầu đến máy chủ. (nhà cung cấp: Nhà cung cấp TCP, lỗi: 0 - Một kết nối hiện có đã bị đóng bởi máy chủ từ xa.

Tôi đã kiểm tra sau

  1. Tất cả các cơ sở dữ liệu được đặt thành tự động TẮT

  2. Không tìm thấy nhiều vấn đề mạng và tốc độ mạng là tốt.

  3. Khi tôi kiểm tra SSMS, thời gian chờ truy vấn từ xa thuộc tính máy chủ được đặt thành 600 giây

  4. Tôi đã kiểm tra nhật ký máy chủ sql và không tìm thấy lỗi liên quan đến nó hoặc thông báo lỗi tương tự

Vì vậy, những gì có thể là lý do cho lỗi này? Và làm thế nào để khắc phục nó?

Câu trả lời:


9

Nếu một ứng dụng mở một kết nối (thành công) đến SQL Server và để nó mở ra trước khi gửi một truy vấn (hoặc có thể 'khác') và trong khi đó, SQL sẽ giết kết nối đó vì một lý do nào đó (ví dụ: khởi động lại dịch vụ, hoặc một lệnh kill được gửi), sau đó khi kết nối (nghĩ rằng nó mở) cố gắng gửi một lệnh, bạn sẽ gặp lỗi này.

Vì vậy, bắt lỗi trong ứng dụng của bạn và kết nối lại. Sau đó thử lại lệnh.


4

Tôi chủ yếu thấy lỗi này nếu vì lý do nào đó kết nối mạng bị mất, thậm chí trong vài giây. Đó có thể là ai đó ngắt kết nối cáp, kết nối wifi không ổn định, chuyển đổi mạng xấu, máy tính chuyển sang chế độ ngủ (mặc định là trên Win7 trở lên), cập nhật Windows cập nhật trình điều khiển mạng, v.v.


2
Tôi đã thấy điều này xảy ra trên các kết nối VPN là tốt. Không chắc chắn nếu đó là trường hợp ở đây.
Ses011

2

Tôi đã chạy qua cùng một lỗi một lúc trước và có nghĩa là để gửi câu trả lời của tôi, nhưng tôi không thể đăng nhập và chỉ đơn giản là quên. Tôi đã tình cờ gặp lại câu hỏi này và sẽ đưa ra câu trả lời của mình tốt nhất mà tôi có thể nhớ vì nó khá mơ hồ và tôi không thể tìm thấy đề cập đến nó ở bất cứ nơi nào khác.

Lỗi này được trả về từ cơ sở dữ liệu MS-SQL khi chuyển một số dạng ngày không hợp lệ sang SP từ .NET (và các nguồn có khả năng khác). IIRC, tôi đã chuyển qua .NET MinDate (nghĩa là giá trị mặc định). Về cơ bản, chỉ cần kiểm tra các thông số ngày của bạn và chắc chắn rằng chúng hợp lý!


0

Tôi đã nhận được chính xác cùng một lỗi trong ứng dụng của tôi. Nó cập nhật nhiều hồ sơ trong một giao dịch. Tôi đã sửa lỗi này bằng cách tăng tham số SqlCommand.CommandTimeout.


-4

trong trường hợp của tôi, lỗi này nhận được nếu không gian ổ C của bạn thấp và mỗi giây tạo ra các tệp nhật ký mới.

Vì vậy, độ phân giải là tất cả các bản ghi xóa trong ổ đĩa c sau đó hoạt động tốt trở lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.