Nhóm kết nối đang được đặt lại với Lỗi: 18056, Mức độ nghiêm trọng: 20, Trạng thái: 46. & Bộ đếm Perfmon không hiển thị


21

Chúng tôi đang sử dụng Xác thực SQL (để giảm số lượng nhóm kết nối) & chuỗi kết nối .NET 4.0 để kết nối với SQL Server Enterprise Edition 2012 SP1 trên Máy chủ doanh nghiệp Windows 2008 R2:

Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64)
Ngày 19 tháng 10 năm 2012 13:38:57
Bản quyền (c) Microsoft Corporation
Enterprise Edition (64-bit) trên Windows NT 6.1 (Bản dựng 7601: Gói dịch vụ 1)

Chúng tôi sử dụng khoảng 50 máy chủ được chia thành 8 nhóm khác nhau các phần khác nhau của một trang web.

Trang web của chúng tôi đang sử dụng Máy chủ SQL này để đăng nhập dữ liệu theo dõi truy cập. Trong vài ngày qua, nó đã phát ra các thông báo sau về việc đặt lại nhóm kết nối:

Máy khách không thể sử dụng lại phiên với SPID 1327, đã được đặt lại để tổng hợp kết nối. ID lỗi là 46. Lỗi này có thể do lỗi hoạt động trước đó không thành công. Kiểm tra nhật ký lỗi cho các hoạt động không thành công ngay trước thông báo lỗi này.

Nhật ký lỗi đọc:

Lỗi: 18056, Mức độ nghiêm trọng: 20, Trạng thái: 46.
Máy khách không thể sử dụng lại phiên với SPID 959, đã được đặt lại để gộp nhóm kết nối. ID lỗi là 46. Lỗi này có thể do lỗi hoạt động trước đó không thành công. Kiểm tra nhật ký lỗi cho các hoạt động không thành công ngay trước thông báo lỗi này.
Đăng nhập thất bại cho người dùng 'xxxx'. Lý do: Không thể mở cơ sở dữ liệu 'xxxxxxxx' được định cấu hình trong đối tượng đăng nhập trong khi xác nhận lại thông tin đăng nhập trên kết nối. [KHÁCH HÀNG: 10.xx.xx.xxx]

Sau khi đào bới, tôi đã tìm thấy tài liệu này trên blog CSS: Cách thức hoạt động: Lỗi 18056 - Máy khách không thể sử dụng lại phiên với SPID ##, đã được đặt lại cho nhóm kết nối và lỗi này do Aaron Bertrand: Lỗi khắc phục sự cố 18456 . Tôi biết số lỗi là khác nhau nhưng ID lỗi giống nhau với một số thông báo giống hệt nhau).

Lỗi ID 46 cho thấy rằng đăng nhập không có quyền. Thông tin đăng nhập của chúng tôi mặc định cho cơ sở dữ liệu chủ và tên db được đặc trưng trong chuỗi kết nối.

Tôi muốn kiểm tra số lượng chuỗi kết nối, v.v. và kiểm tra tất cả các bộ đếm trong Perfmon cho .Net Data Provider for SqlServer. Nó chỉ cho tôi tùy chọn defaultdomain9675ví dụ, vì vậy tôi đã chọn rằng giả sử đó là tên ID do hệ thống tạo cho mạng Trung tâm của chúng tôi. Thật không may, tất cả các quầy đang đọc số không. Trên một trong những máy chủ chính khác của chúng tôi, các nhóm kết nối đang lơ lửng khoảng 10, đó là những gì tôi dự kiến ​​sẽ thấy trên một máy chủ khỏe mạnh với loại tải đó.

Câu hỏi của tôi là 3 lần

  1. Ai đó có thể đề nghị tại sao Máy chủ Windows 2008 R2 không hiển thị .Net Data Provider for SqlServerkhông?

  2. Có ai có kinh nghiệm này vì tôi rõ ràng tin rằng đăng nhập không có quyền là cá trích đỏ?

  3. Nếu các nhóm máy chủ web khác nhau có cùng cú pháp chuỗi kết nối nhưng với khoảng trắng hơi khác nhau, điều này có khiến máy chủ sử dụng nhóm kết nối khác không?

Cài đặt bộ nhớ tối thiểu và tối đa lần lượt là 20GB & 58GB. Máy chủ là một máy chủ cơ sở dữ liệu chuyên dụng với 64GB RAM. Tôi không nghĩ rằng bộ nhớ là vấn đề vì hộp dường như có một trang mong đợi không tốt. Tự động đóng không được bật. Máy chủ luôn hoạt động: đây là một trang web 24x7 với lượng sử dụng lớn.


3
Chúng tôi có vấn đề tương tự trên các máy chủ của chúng tôi (ứng dụng .NET / Windows 2008 R2 / SQL Server 2008 R2 / SQL đăng nhập) không liên tục; Tôi chưa bao giờ có thể theo dõi lý do tại sao điều này xảy ra ... về cơ bản chúng tôi đã từ bỏ cố gắng vào thời điểm này. Chúng tôi cũng gặp vấn đề này trên .NET 3.5 trước khi nâng cấp lên 4.0. Tôi rất muốn nghe nếu có ai đã giải quyết điều này!
Jon Seigel

1
@jonSeigel Xin chào John, tôi đã quản lý để xác định rằng máy chủ được đề cập thực sự đang sử dụng nhóm tổng hợp đúng cách bằng cách sử dụng tài liệu sau đây về các sự kiện mở rộng. sqlserverpedia.com/blog/sql-server-bloggers/ Từ tôi hiện đang cố gắng điều chỉnh Xevents để tìm thông tin cần thiết để cung cấp cho tôi tổng số lượng nhóm kết nối
Damagedoods

Là máy chủ trong câu hỏi bằng cách sử dụng phản chiếu? Tôi đã thấy thông báo lỗi này trên máy chính khi cơ sở dữ liệu bị lỗi so với thứ cấp.
Max Vernon

Câu trả lời:


5

1 - không thể nói chắc chắn, tôi phải đi tìm một máy chủ để tự đào sâu vào.

2 - vâng, tôi thấy điều này định kỳ trong môi trường của mình mặc dù chúng tôi chưa có trên sql 2012 trên các hệ thống mà chúng tôi thấy điều này. Bạn cũng có thể muốn kiểm tra http://bloss.msdn.com/b/psssql/archive/2013/02/13/breaking-down-18065.aspx mặc dù Trạng thái 46 dường như có liên quan đến việc có Cơ sở dữ liệu cụ thể = xxx trong chuỗi kết nối, db đó có còn tồn tại không?

Cách mạng của tôi được thiết lập Tôi nghi ngờ đó là việc tự động đóng các phiên tcp của mạng sau 5 phút không hoạt động - đó không phải là db và máy khách đang đóng phiên nên nhóm kết nối vẫn cho rằng kết nối đang mở và cố gắng sử dụng Nó chỉ để thấy nó không thực sự mở nữa. Bạn không đề cập đến cách mạng giữa máy chủ web và db của bạn được định cấu hình, có thể trường hợp của bạn tương tự.

Một khả năng khác có thể là (cũ, không chắc chắn nếu đã thực sự giải quyết, hãy xem http://support.microsoft.com/kb/942861 ) về cài đặt Giảm tải ống khói TCP.

3 - Sự hiểu biết của tôi là gộp nhóm yêu cầu khớp chuỗi chính xác, do đó khoảng trắng và thứ tự các tham số khác nhau sẽ gây ra các nhóm khác nhau. (Nếu tôi sai về điều đó, xin vui lòng cho tôi biết.)


4

Câu trả lời Wiki cộng đồng ban đầu để lại như một nhận xét của tác giả câu hỏi

Trong trường hợp của tôi, nó hóa ra là một bảng ghi nhật ký chạy trốn mà ai đó đã chuyển sang dài dòng để khắc phục sự cố, nhưng quên tắt. Nó đã kết thúc đăng nhập lên đến 1000 hồ sơ một giây.

Một công việc khác là cố gắng xóa các bản ghi cũ khỏi bảng. cuối cùng, chính nó đã bị khóa khi cố gắng xóa, chặn tất cả những phần chèn mà nó đã hết tài nguyên nhóm kết nối.

Ngay khi tôi tìm được công việc, tát người lạm dụng quyền của họ trên máy chủ đó, và dừng công việc, tất cả các thông báo lỗi cho nhóm kết nối đã dừng 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.