데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

.NET 4.6.1에 변경된 Multisubnet 기본 수신기 동작

  • Version : SQL Server 2012, 2014, 2016

 

SQL Server에서 AlwaysOn을 구성하여 사용할 때 리스너는 여러 개의 IP 주소를 감지하여 가용성 그룹에 정의되어 있는 IP주소에 연결을 시도하는데 간헐적으로 연결시간 초과가 발생할 수 있다. SQL 클라이언트의 기본 동작은 DNS에서 반환된 모든 IP 주소에 연결을 시도하는데 DNS 구성에 의존하기 때문에 몇 가지 문제가 발생할 수 있다. 가장 빈번하게 발생하는 문제가 정확하지 않은 IP 반환 또는 온라인되어 있지 않은 IP 반환이다. 기본적으로 TCP 연결 시도에 대한 기본 제한시간은 21초이며 IP 주소가 온라인 상태가 아닌 경우 다음 IP를 시도하기까지 21초를 기다려야 한다.

 

.NET 4.6.1에 업데이트된 내용은 SQL 클라이언트 제공자의 기본값이 MultiSubnetFailover=True 이며 이 동작은 모둔 IP 주소를 검색하고 병렬로 모든 연결을 시도한다. IP가 온라인 상태이면 성공적으로 연결이 되며 장애조치의 경우 가용성 그룹에 다시 연결하는 최적의 방법으로 동작한다.

 

자세한 업데이트 내용 및 .NET 패키지 다운로드는 아래 링크를 참고 한다.

http://blogs.msdn.com/b/dotnet/archive/2015/11/30/net-framework-4-6-1-is-now-available.aspx

 

새로운 릴리즈를 적용하지 않아도 이전의 SQL Server 2012 가용성 그룹 수신기 또는 장애조치 클러스터 인스턴스 연결을 사용할 때 MultiSubnetFailover=True를 지정하면 장애조치 클러스터 인스턴스 또는 모든 가용성 그룹에 대해 병렬로 연결을 시도하여 서브넷 장애조치가 시행 되는동안 신속하게 TCP 연결을 다시 시도한다.

 

[참고자료]

http://blogs.msdn.com/b/alwaysonpro/archive/2015/12/01/improved-multisubnet-listener-behavior-with-newly-released-sql-client-provider-in-net-4-6-1.aspx

 




강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp

No. Subject Author Date Views
2051 시스템 관리자 권한이 없는 특정 프로그램에서 Trace Flag 사용하기 jevida(강성욱) 2017.01.11 2341
2050 In-Memory OLTP 환경에서 체크포인트 작업과 디스크 부족 경고 jevida(강성욱) 2017.01.11 1276
2049 Spool 연산자와 추적 플래그 8690 jevida(강성욱) 2017.01.11 1846
» .NET 4.6.1에 변경된 Multisubnet 기본 수신기 동작 jevida(강성욱) 2017.01.11 1594
2047 함수 통계 정보 확인 (sys.dm_exec_function_stats) jevida(강성욱) 2017.01.11 1565
2046 NULL 데이터가 포함된 데이터 사용 시 주의점 jevida(강성욱) 2017.01.11 2820
2045 통계정보와 실제 데이터 분포 확인하기 jevida(강성욱) 2017.01.11 1668
2044 SQL Server Failover Cluster 설치시 네트워크 이름으로 인한 설치 오류 jevida(강성욱) 2017.01.11 1456
2043 SSIS 실행 로그 남기기 jevida(강성욱) 2017.01.11 2660
2042 확장이벤트를 사용한 실행 계획 캡처 jevida(강성욱) 2017.01.11 1209
2041 테이블 외래키 트리 확인 및 데이터 삭제하기 jevida(강성욱) 2017.01.11 1760
2040 기본 추적을 사용한 SQL Server 스키마 변경사항 캡처 jevida(강성욱) 2017.01.11 1552
2039 SQL Server 특정 테이블의 모든 컬럼에서 문자열 찾기 jevida(강성욱) 2017.01.11 1649
2038 SQL Server 임시 테이블 특성 jevida(강성욱) 2017.01.11 7129
2037 트리거를 사용하여 특정 컬럼 업데이트 하기 (After 트리거) jevida(강성욱) 2017.01.11 2145
2036 컬럼스토어 인덱스 성능 (Columnsotre Index Performance) jevida(강성욱) 2017.01.11 3182
2035 In-Memory 최적화 파일 경로 변경 jevida(강성욱) 2017.01.11 1494
2034 SA 계정 이름 변경 및 비활성화 jevida(강성욱) 2017.01.11 2268
2033 SQL Server 데이터베이스 속성을 확인할 때 사용되는 master.dbo.spt_values 복구 jevida(강성욱) 2017.01.11 1557
2032 XML로 생성된 정보를 테이블로 저장하기(sp_xml_preparedocument) jevida(강성욱) 2017.01.11 2223





XE Login