2013-06-11 3 views
7

우리는 SQL Server 2008 Express를 사용하고 있습니다. 연결 문자열의 순간에는 기본값 풀 크기가 100입니다. 사용량이 많은 시간대에 DB로 트랜잭션을 처리 할 때 시간 초과 오류가 발생합니다.SQL Server 2008의 연결 최대 풀 크기

우리는 풀 크기를 200으로 설정 했으므로 상황이 개선되었습니다. 제 질문은 익스프레스 에디션에서 가질 수있는 최대 풀 크기는 얼마입니까? 이 에디션은 1GB의 RAM으로 실행됩니다.

또한 본격적인 SQL 버전이 있습니다. 풀 사이즈 버전으로 더 큰 풀 크기를 지정할 수 있습니까? 풀 크기를 늘리면 이점을보기 위해 RAM 등을 늘려야합니까?

미리 감사드립니다.

매트.

답변

9

질문이있을 때마다 Maximum Capacity Specifications for SQL Server으로 가야합니다. 엄밀히 말하면 연결 풀 크기는 클라이언트 설정이지만 엔진은 서버 측 제한을 초과 할 수 있도록 연결을 유지해야합니다. Connections per client 값이 Server Configuration Option 통해 구성 할 내포하고있다 ideed Maximum value of configured connections이다 user connections 참조 :

사용자 접속 옵션은 SQL 서버 인스턴스에 허용 동시 사용자 연결의 최대 개수를 지정한다. 허용되는 실제 사용자 연결 수는 , 사용중인 SQL Server 버전 및 응용 프로그램 또는 응용 프로그램과 하드웨어의 수 제한 인 에 따라 다릅니다. SQL Server는 최대 32,767 사용자 연결의 을 허용합니다. 사용자 연결은 동적 (자체 구성) 옵션이기 때문에 SQL Server는 최대 값까지 최대 사용자 연결 수를 필요에 따라 자동으로 조정합니다.

+0

ADO.NET은 연결 풀링이라는 최적화 기술을 사용합니다. http://msdn.microsoft.com/en-us/library/8xx3tyca(v=vs.110).aspx 따라서 최대 풀 크기는 ADO.NET에서 사용할 연결 문자열에 지정된 설정이됩니다. SQL 서버 '사용자 연결'설정은 0이며 사용자 연결은 무제한으로 허용됩니다. ADO.NET 최대 풀 크기는 응용 프로그램을 실행하는 컴퓨터에서 사용할 수있는 리소스에 의해 제한 될 것이라고 생각합니다. –

+0

@turtleboy 연결 풀링이 처리되는 것은 클라이언트/응용 프로그램 쪽입니다. http://blogs.msdn.com/b/sql_pfe_blog/archive/2013/10/08/connection-pooling-for-the-sql-server-dba.aspx 응용 프로그램 또는 데이터베이스 연결 요구 사항을 모릅니다. 그러나 제한 시간이 만료 된 이유는 연결이 열리지 만 프로그램에서 닫히지 않기 때문입니다. 이 경우 연결 문자열에서 연결 시간 초과 (기본값 15 초)를 늘리는 데 도움이되지 않습니다. 'NumberOfPooledConnections'성능 모니터 (누르십시오 Windows/실행 형식 perfmon 확인을 클릭하십시오) –

+0

@ turtleboy 나는 이것이 도움이 될 경우 ADO.NET SQL Server 공급자를 사용하고 있다고 가정합니다. ADO.NET 연결 풀링 http://www.codeproject.com/Articles/17768/ADO-NET-Connection-Pooling-at-a-Glance –