2010-01-26 7 views

답변

6

연결 풀을 소모하는 것 외에도 (대부분의 응답이 있었기 때문에) 데이터를 잠글 위험이 있습니다.

테이블을 읽거나 쓰는 중 일부 잠금 의미는 특정 행이 다른 연결에 잠기 게합니다. 연결에 열린 트랜잭션이있는 경우 특히 그렇습니다.

읽기 및 쓰기가 실패 할 수 있으며 응용 프로그램에서 예외가 발생합니다.

즉, 항상 연결을 닫습니다.

+0

sql 명령을 사용한 후에도 연결이 완료 되었습니까? –

+0

거래가 열려 있으면 예. – Oded

+2

커밋을 통해 이러한 문제를 피할 수 있습니다. –

9

조만간 "최대 연결 한도에 도달했습니다"오류가 발생합니다. 그게 큰 단점이라 생각합니다.

1

연결 풀이 가득 차고 새 연결이 시간 초과되어 풀에서 새 연결을 기다립니다.

0

데이터베이스 서버에 대한 연결이 열려 있습니다.

당신은 또한

0

빠른 간단한 대답이 빨리 닫으이 빨리 연결이 연결 풀에서 재사용 할 수 있다는 것입니다 폐기해야한다 ... 동일한 서버를 치는 프로그램의 100 단위를 가정합니다.

+0

은 "사용하여 좋은 사용"SQL에 conencting 때 자신에게 말을 조금 진언이다. SqlConnection은 iDisposable을 구현하므로 간단하게 "using"블록에 sql 코드를 래핑하여 닫기가 자동으로 호출되도록합니다. –

1

SQL Server에 대한 모든 연결에는 메모리 할당이 필요합니다.

그래서 더 많은 연결을 사용하고 있고 사용중인 메모리를 더 많이 열면 잠재적으로 더 잘 사용될 수 있습니다.

SQL Server에서 연결에 사용되는 메모리 양만 알고 싶다면 다음 참조를 확인하십시오.

Memory Used by SQL Server Objects

+0

MSDN에 대한 링크를 업데이트했으나 연결 당 약 300K로, 이것은 아마도 더 적은 고려 사항 중 하나 일 것입니다. 수 천 또는 수만 개의 연결이 필요하기 때문에 느껴질 것입니다. –

+0

링크 +1 –

관련 문제