SQL Server/SQL Server Tip

SQL Server User Connection

SungWookKang 2015. 7. 17. 08:41
반응형

SQL Server User Connection

 

 

SQL Server에서 User_Connections 할당과 할당된 User_Connections 만료되면 어떻게 될까?

SQL Server 에러 로그에는 어떤 내용이 기록되는지 확인 하자.

준비사항.

1.     테스트를 위하여 간단히 C#을 이용해서 프로그램을 개발.

A.     충분한 커넥션 할당을 위하여 배열 20000개 생성.

B.      성능 모니터를 통한 User Connection 확인.

   

C.      DMV를 이용한 커넥션 확인.

select * from sys.dm_exec_connections

go

   

 

2.     현재의 user_connections 커넥션 설정 확인.

-       최대 32767개 까지 가능

sp_configure 'show advanced options', 1

reconfigure

GO 

 

   

CASE 1

①     sp_configure 'user connections', 0

②     프로그램 접속 커넥션 10.

   

 

 

   

10 User Connection 할당 완료.

   

   

   

   

CASE 2

①     sp_configure 'user connections', 0

②     프로그램 접속 커넥션 100.

100 User Connection 할당 완료.

   

CASE 3

①     sp_configure 'user connections', 90

②     프로그램 접속 커넥션 100.

MAX User Connetions 90 으로 변경.

sp_configure 'user connections', 90

reconfigure

GO

   

 

   

89개 커넥션 이후 접속 에러 발생.

   

성능 모니터에서 전체 90개 할당 완료 된 것 확인.

   

DMV를 통한 user Connections 확인. 90개.

   

90개 세션 이후 추가 세션 할당 에러 발생.

   

이벤트 로그에 에러 로그 기록 확인 가능

   

   

CASE 4

①     sp_configure 'user connections', 0

②     프로그램 접속 커넥션 1000.

100 User Connections 연결 후 연결 실패 발생.

 

 

총 user connections 101개 확인. (SSMS 1개 + 프로그램 100개)

   

   

CASE 5

①     sp_configure 'user connections', 0

②     프로그램 접속 커넥션 100 * 2.(2개의 프로그램 실행)

프로그램 2개를 실행하여 각 100개씩 할당 완료.

한 프로세스에서 100개 초과해서 사용하지 못함.

   





Q1 . 한 프로세스당 왜 user_Connetioncs 100개 까지 밖에 못 열까?

데이터베이스 연결 드라이버 옵션을 변경하면 가능 하다.

반응형