Khi tôi hồ sơ ứng dụng của mình bằng cách sử dụng SQL Server Profiler, tôi thấy rất nhiều thông báo và Kiểm tra đăng xuất cho các kết nối đến cùng một cơ sở dữ liệu. Tôi tự hỏi, điều này cho thấy rằng có gì đó sai với kết nối tổng hợp của tôi? Lý do tôi hỏi, là vì tôi thấy điều này trong tài liệu MSDN liên quan đến kết nối tổng hợp:Kết nối và kiểm tra kết nối SQL Đăng nhập/Đăng xuất
Đăng nhập và đăng xuất sự kiện sẽ không được huy động trên máy chủ khi kết nối được lấy từ hoặc quay trở lại hồ bơi kết nối. Điều này là do kết nối không thực sự bị đóng khi kết nối được trả về hồ bơi kết nối. Để biết thêm thông tin, hãy xem Kiểm tra Đăng nhập Sự kiện và Kiểm tra Sự kiện Đăng xuất Sự kiện Lớp trong Sách SQL Server Trực tuyến.
http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx
Ngoài ra, không ai có bất cứ lời khuyên để xác định hiệu quả của tổng hợp kết nối cho một máy chủ SQL được? Tôi có rất nhiều cơ sở dữ liệu trên một máy chủ duy nhất và tôi biết điều này có thể có tác động rất lớn, nhưng tôi tự hỏi liệu có một cách dễ dàng để có được số liệu về hiệu quả của việc kết nối tổng hợp của tôi hay không. Cảm ơn trước!
Điều này làm rõ rất nhiều cho tôi. Cảm ơn. Có lẽ bạn có thể giúp tôi với điều này: sự khác biệt giữa các ứng dụng va chạm một kết nối gộp khi đạt kích thước hồ bơi tối đa so với ném một ngoại lệ là "tối đa kích thước hồ bơi đã đạt được" là gì? – motto
@motto - bạn sẽ thấy ngoại lệ "kích thước bể bơi tối đa ..." khi kết nối không bị đóng. Ngay cả với một hồ bơi, bạn cần .Đóng các kết nối để đưa chúng trở lại hồ bơi. Một ngoại lệ có thể ngăn chặn cuộc gọi của bạn .Đóng cuộc gọi nếu nó không nằm trong khối "cuối cùng" hoặc "đang sử dụng": http://blogs.msdn.com/tolong/archive/2006/11/21/max-pool-size- was-reach.aspx. Hãy nhớ rằng một số lệnh Command hoặc Adapter sử dụng một kết nối ngầm và cần phải được đóng một cách an toàn là tốt. Ngoài ra, hãy cẩn thận tạo đối tượng DB trong vòng lặp. –
Tôi cũng sẽ thêm rằng khi thực hiện "exec sp_reset_connection" các sự kiện kiểm tra LOGIN/LOGOUT ĐƯỢC kích hoạt, mặc dù kết nối chưa thực sự bị ngắt kết nối. – Martin