2013-01-10 47 views
8

Chúng tôi đang chạy một trang web trên máy chủ vps với máy chủ sql 2008 x64 r2. Chúng ta đang bị tấn công dồn dập với 17886 lỗi - cụ thể là:Lỗi 17886 - Máy chủ sẽ hủy kết nối

Máy chủ sẽ thả các kết nối, vì người lái xe khách hàng đã gửi nhiều yêu cầu trong khi phiên giao dịch đang ở chế độ đơn người dùng. Lỗi này xảy ra khi khách hàng gửi yêu cầu đặt lại kết nối trong khi có các đợt vẫn chạy trong phiên hoặc khi máy khách gửi yêu cầu trong khi phiên đang đặt lại kết nối. Vui lòng liên hệ với nhà cung cấp trình điều khiển máy khách.

Điều này làm cho các câu lệnh sql trả về kết quả bị hỏng. Tôi đã thử khá nhiều tất cả các đề xuất tôi đã tìm thấy trên mạng, bao gồm:

  • với mars, và không có.
  • với tổng hợp và không có
  • với async = true và không

chúng ta chỉ có một cơ sở dữ liệu và nó là hoàn toàn đa người dùng.

Mọi thứ đã được cài đặt gần đây để nó được cập nhật. Chúng có thể tương quan với high cpu (mặc dù không độc quyền theo các màn hình tôi đã thấy). Cũng tương quan với high request rates từ các công cụ tìm kiếm. Tuy nhiên, cpu/yêu cầu cao không nên gây ra kết nối sql để thiết lập lại - tồi tệ nhất chúng ta nên có thời gian phản hồi cao hoặc iis từ chối gửi phản hồi.

Mọi đề xuất? Tôi chỉ là một nhà phát triển không dba - tôi cần một dba để giải quyết vấn đề này?

Trả lời

1

Không chắc chắn nhưng một số truy vấn của bạn có thể gây ra lỗi trên máy chủ.

Tại thời điểm bạn phát hiện lỗi này một lần nữa

  • mở Management Studio (trên máy chủ, cài đặt nó nếu cần thiết)

  • mở một cửa sổ truy vấn mới

  • Run sp_who2

  • Kiểm tra blkby cột ngắn gọn cho Bị chặn theo. Nếu có bất kỳ dữ liệu nào trong cột đó, bạn có vấn đề bế tắc (Thông thường nó sẽ giống như ảnh chụp màn hình mà tôi đính kèm, hoàn toàn trống).

Nếu bạn có bế tắc thì chúng tôi có thể tiếp tục với các bước tiếp theo. Nhưng ngay bây giờ hãy kiểm tra điều đó.

enter image description here

+0

cứng của nó để đón máy chủ tại thời điểm có những sai sót. tôi có cần bắt dữ liệu này tại cùng thời điểm lỗi không? Nếu vậy, tôi không chắc chắn khi nào cơ hội tiếp theo sẽ đến. Có những ngày tại một thời điểm không có lỗi, và sau đó tất cả hàng trăm lỗi đột ngột. Có một giải pháp nào khác để thử trong thời gian chờ đợi không? – nomadsolo

+0

Xem các tệp tại thư mục này: "C: \ Program Files \ Microsoft SQL Server \\ [YourSQLInstanceName] \ MSSQL \ Log" và kiểm tra bản ghi sự kiện của bạn. Hãy thử tìm thêm một số thông tin, và nếu bạn nghĩ rằng bạn tìm thấy một cái gì đó hữu ích thêm nó vào câu hỏi của bạn – erichste

+0

Thông điệp tôi đã đăng ở trên ("Máy chủ sẽ thả kết nối ...") là lỗi tôi thấy trong nhật ký lỗi sql, ở đó là hàng trăm người trong số họ – nomadsolo

0

tôi sẽ tạo ra một nhiệm vụ eventlog gửi email cho bạn bất cứ khi nào được ném 17.886. Sau đó đi ngay lập tức đến db và thực hiện sp_who2, lấy blkby spid và chạy một dbb inputbuffer. Hy vọng rằng eventinfo sẽ cung cấp cho bạn một cái gì đó hữu hình hơn một chút để tiếp tục.

sp_who2

DBCC INPUTBUFFER (62) GO

Các vấn đề liên quan