2009-09-30 3 views
17

SQL Server 2008 Enterprise + C# + ADO.Net + .Net 3.5를 사용하고 있습니다. 활성 연결 번호를 찾으려면 sp_who2 또는 sys.dm_exec_connections를 사용하고 있습니다 (활성 연결 번호를 찾는 내 방법이 잘못되었는지 알려주십시오). 일부 무거운 데이터베이스 소비자 응용 프로그램의 경우에도 활성 연결 수가 1000보다 많습니다.SQL Server 연결 수에 제한이 있습니까?

SQL Server의 활성 연결 수에 대한 상한 제한이 있는지 궁금합니다. 사전에

덕분에, 조지

답변

25

그것은 당 인스턴스가 아닌 데이터베이스 당, 구성입니다. sys.configurations에서 현재 값을 확인하고 sp_configure으로 변경할 수 있습니다. 관련 옵션은 user connections입니다 :

는 마이크로 소프트 SQL 서버에 을 허용 동시 사용자 연결의 최대 수를 지정 에 사용자 연결 옵션을 사용합니다. 실제로 허용되는 사용자 연결 수는 이며 사용중인 SQL 서버 버전과 응용 프로그램 또는 응용 프로그램의 수는 이고 컴퓨터 수는 입니다. SQL Server는 32,767 개의 사용자 연결 중에서 최대 을 허용합니다.

1000 개의 연결은 그리 높지 않습니다. 하이 엔드 시스템에서는 서버가 다중 포트 affinitized to NUMA 노드에서 수신 대기하고 수백 및 수천 개의 클라이언트를 각 노드에 연결할 수 있습니다.

연결 수가 개의 요청의 수와 다른 점에 유의하십시오. 연결은 적극적으로 무언가를 실행합니다. sys.dm_exec_requests. 각 요청에는 하나 이상의 작업자가 필요하며 작업자 수는 max worker threads 옵션으로 구성됩니다.

+0

매우 뛰어 났으므로 잠시 공부하게하십시오. :-) – George2

+1

나도 그렇다. 나는 32k + 사용자 슬롯이 절대로 걱정스럽지 않을 것이라고 항상 당연한 생각을 가지고 있었지만,이 세부 사항은 정말 좋은 세부 사항이다. –

+0

감사합니다. Nissan, 다음 링크를 공부했습니다. http://msdn.microsoft.com/en-us/library/ms143432.aspx, 가장 혼란 스럽습니다. - "클라이언트 당 연결 수"와 "사용자 연결 수"의 차이점은 무엇입니까? "? – George2

3

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' 
+0

내 활성 연결 번호 찾기 방법이 맞습니까? 그렇다면 32,767을 초과해서는 안되는 번호를 의미합니까? – George2

+0

나는 찾고있는 연결 번호가 당신이 말한 것과 똑같은지 확인하고자합니다. :-) – George2

+0

당신이 언급 한 MSDN 문서에서 가장 혼란스러운 것은 "클라이언트 당 연결 수"와 "사용자 연결 수"의 차이점은 무엇입니까? – George2

관련 문제