2013-06-11 33 views
7

Chúng tôi đang sử dụng SQL Server 2008 express. Tại thời điểm trong chuỗi kết nối, chúng tôi có kích thước nhóm mặc định là 100. Vào thời điểm cao điểm, chúng tôi nhận được lỗi hết thời gian khi xử lý giao dịch vào DB.Kích thước nhóm kết nối tối đa trong SQL Server 2008

Tình hình đã được cải thiện vì chúng tôi đã đặt kích thước bể bơi là 200. Câu hỏi của tôi là kích thước hồ bơi tối đa mà bạn có thể có trong ấn bản nhanh? Phiên bản này được chạy với một GB RAM.

Ngoài ra, chúng tôi có phiên bản SQL đầy đủ. Chúng ta có thể chỉ định một kích thước hồ bơi lớn hơn với phiên bản thổi đầy đủ và nếu chúng ta tăng kích thước hồ bơi, chúng ta sẽ phải tăng những thứ như RAM, vv để xem lợi ích?

Xin cảm ơn trước,

Matt.

Trả lời

9

Bất cứ khi nào bạn có câu hỏi như vậy, bạn nên truy cập Maximum Capacity Specifications for SQL Server. Nói đúng cách Kích thước hồ bơi kết nối là cài đặt ứng dụng khách nhưng công cụ cần phải tiếp tục mở kết nối để bạn có thể đạt đến giới hạn phía máy chủ. Các Connections per client giá trị là Maximum value of configured connections trong đó hàm ý là cấu hình thông qua một Server Configuration Option và ideed nó là, xem user connections:

Các tùy chọn kết nối người sử dụng xác định số lượng tối đa kết nối người sử dụng đồng thời được phép trên một thể hiện của SQL Server. Số lượng kết nối người dùng thực tế được phép cũng phụ thuộc vào phiên bản SQL Server mà bạn đang sử dụng và cũng là giới hạn của ứng dụng hoặc ứng dụng và phần cứng của bạn. SQL Server cho phép tối đa tối đa 32,767 kết nối người dùng. Vì kết nối người dùng là tùy chọn động (tự định cấu hình) , SQL Server điều chỉnh số lượng tối đa kết nối người dùng một cách tự động khi cần, tối đa cho phép giá trị tối đa .

+0

ADO.NET sử dụng kỹ thuật tối ưu hóa được gọi là kết nối tổng hợp. http://msdn.microsoft.com/en-us/library/8xx3tyca(v=vs.110).aspx Vì vậy, kích thước hồ bơi tối đa sẽ là một thiết lập được chỉ định trong chuỗi kết nối của bạn sẽ được sử dụng bởi ADO.NET Khi SQL Cài đặt 'kết nối người dùng của máy chủ' là 0, cho phép kết nối người dùng không giới hạn; Tôi nghĩ rằng kích thước hồ bơi tối đa ADO.NET sẽ bị hạn chế bởi các tài nguyên có sẵn trong máy chạy ứng dụng của bạn. –

+0

@turtleboy Nó nằm ở phía máy khách/ứng dụng mà việc kết nối tổng hợp được xử lý. http://blogs.msdn.com/b/sql_pfe_blog/archive/2013/10/08/connection-pooling-for-the-sql-server-dba.aspx Không biết ứng dụng của bạn làm gì hoặc yêu cầu kết nối cơ sở dữ liệu của ứng dụng nhưng, một lý do cho thời gian chờ hết hạn ngoại lệ là các kết nối đang được mở nhưng không bị đóng bởi chương trình của bạn; trong tình huống này, nó sẽ không giúp tăng thời gian chờ kết nối (mặc định 15 giây) trong chuỗi kết nối của bạn. Nhìn vào 'NumberOfPooledConnections' trong Performance Monitor (Nhấn Windows/Run loại perfmon nhấn OK) –

+0

@turtleboy Tôi cho rằng bạn đang sử dụng nhà cung cấp ADO.NET Sql Server, nếu đó là trường hợp này sẽ giúp: ADO.NET Connection Pooling với nháy mắt http://www.codeproject.com/Articles/17768/ADO-NET-Connection-Pooling-at-a-Glance –

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