Tôi đang chạy SQL Server 2008 R2 SP1, trên hộp Windows Server 2008. Tôi có một tập lệnh .NET chạy từ Visual Studio 2010, thực hiện như sau:
- Tiếp cận cơ sở dữ liệu
- Tạo sự thay đổi
- Lặp đi lặp lại
Tổng số lần nó sẽ lặp lại là 150, tuy nhiên nó dừng ở 100 kết nối và tôi không thể hiểu tại sao. Tôi có thể điều chỉnh tập lệnh của mình để chỉ sử dụng một luồng duy nhất, nhưng tôi muốn biết nơi tôi thiếu cài đặt kết nối tối đa vì điều đó sẽ hữu ích hơn để biết để tham khảo trong tương lai.
Đây là nơi tôi đã kiểm tra cho đến nay:
- Chuỗi kết nối SQL trong Visual Studio 2010 (được đặt thành 1000)
- Thuộc tính kết nối đối tượng cơ sở dữ liệu SSMS (được đặt thành 0 [vô cực] kết nối người dùng)
- Đã thu thập một số thông tin trên Server 2008, có vẻ như nó có thể xử lý hơn 100 kết nối
- Bước qua mã của tôi cùng với
SP_WHO2
đó cung cấp thêm thông tin về các kết nối logic, thấy rằng # của các kết nối bắt đầu ở mức 52 và các lỗi tập lệnh với lỗi "Đạt kết nối tối đa đạt được" ở 152 kết nối logic. - Đã thay đổi chuỗi kết nối để sử dụng
Data Source=PerfSQL02;Initial Catalog=Masked;Integrated Security=True;Max Pool Size=1000
Tôi không chắc chắn nơi nào khác để kiểm tra, tôi biết tôi có rất nhiều bộ phận chuyển động ở đây nhưng tôi có cảm giác tôi chỉ thiếu một thiết lập bể bơi tối đa ở đâu đó.
System.Data.SqlClient
định là 100, đó là lý do tại sao bạn thấy cạn kiệt nhóm kết nối).