Подтвердить что ты не робот

Любой лимит соединения SQL Server?

Я использую SQL Server 2008 Enterprise + С# + ADO.Net +.Net 3.5. Я использую sp_who2 или sys.dm_exec_connections, чтобы найти номера активных соединений (дайте мне знать, если мой метод найти номера активных соединений неверны). Для некоторых приложений с большим количеством данных в базе данных я могу найти даже активное количество подключений > 1000.

Мне интересно, существуют ли ограничения на верхние ограничения для активных номеров соединений SQL Server?

спасибо заранее, Джордж

4b9b3361

Ответ 1

Это конфигурация для каждого экземпляра, а не для каждой базы данных. Вы можете проверить текущее значение в sys.configurations и изменить его с помощью sp_configure. Соответствующий параметр user connections:

Используйте параметр подключения пользователя к укажите максимальное количество одновременное подключение пользователей разрешено на Microsoft SQL Server. Настоящий допустимо количество подключений пользователей также зависит от версии SQL Сервер, который вы используете, и пределы ваше приложение или приложения и аппаратное обеспечение. SQL Server допускает максимум из 32 767 пользовательских подключений.

1000 соединений не является чрезвычайно большим числом. В системах верхнего уровня сервер может прослушивать несколько портов affinitized to NUMA и иметь сотни и тысячи клиентов, подключенных к каждому node.

Обратите внимание, что количество соединений отличается от количества запросов, т.е. соединения, активно выполняющие что-то, sys.dm_exec_requests. Для каждого запроса требуется один или несколько рабочих, а количество рабочих настроено с параметром max worker threads.

Ответ 2

http://msdn.microsoft.com/en-us/library/ms143432.aspx

32,767 - максимальное ограничение для каждой базы данных.

Я бы сделал это следующим образом:

SELECT
     COUNT(*)
FROM
     master.dbo.syslockinfo
WHERE 
     DB_NAME(rsc_dbid) = 'your_database_name'