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

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

SQL Server에 연결된 어플리케이션 드라이버 버전 확인

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012

 

SQL Server의 Native Client(SNAC)는 SQL Server 2005 이후부터 도입 되었다. 여러 응용프로그램이 SQL Server 연결에 사용하고 있는 드라이버 버전을 어떻게 확인 할까?

가장먼저 SNAC가 무엇을 하는 것인지 알 필요 가 있다. SNAC는 Microsoft의 SQL Server ODBC 드라이버, SQL Server OLE DB의 Native 동적 링크 라이브러리(DLL) 공급자가 포함 되어있다. 자세한 내용은 아래 링크 참고.

SQL Native Client :

 

SQL Server 2005는 SNAC 9, SQL Server 2008은 SNAC 10을 사용한다. SNAC 10에서 지원하는 기능이 SNAC 9에서는 지원하지 않기 때문에 버전을 확인 하는 것이 매우 중요하다.

연결된 버전 정보 확인에는 DMV인 sys.dm_exec_connections 를 이용하여 확인 한다.

sys.dm_exec_connections :

 

 

다음 쿼리를 실행하면 protol_version 이라는 열을 확인 할 수 있다. 이 열은 데이터베이스에 연결된 포로토콜의 버전을 의미한다.

SELECT

    PROTOCOL_VERSION, CONVERT(BINARY(4), PROTOCOL_VERSION)

FROM SYS.DM_EXEC_CONNECTIONS

 

 

 

위 의 16진수 값을로는 프로토콜의 버전을 한눈에 확인 할 수 없다. 따라서 다음 링크에서 제공하는 값을 비교하여 프로토콜 버전을 확인 해 보자.

Protocol version :

 

SELECT

SESSION_ID, PROTOCOL_TYPE, DRIVER_VERSION =

CASE SUBSTRING(CAST(PROTOCOL_VERSION AS BINARY(4)), 1, 1)

WHEN 0X70 THEN 'SQL SERVER 7.0'

WHEN 0X71 THEN 'SQL SERVER 2000'

WHEN 0X72 THEN 'SQL SERVER 2005'

WHEN 0X73 THEN 'SQL SERVER 2008'

WHEN 0X74 THEN 'SQL SERVER 2012'

ELSE 'UNKNOWN DRIVER' END,

CLIENT_NET_ADDRESS, CLIENT_TCP_PORT, LOCAL_TCP_PORT, B.TEXT

FROM SYS.DM_EXEC_CONNECTIONS AS A

CROSS APPLY SYS.DM_EXEC_SQL_TEXT(MOST_RECENT_SQL_HANDLE)AS B

 

 

 

현재 연결된 프로토콜의 버전을 확인 할 수 있다. SNAC에 따라 지원되는 기능이 제한 적이므로 응용프로그램의 버전 정보를 확인하여 사용 하자.


강성욱 / jevida@naver.com

Microsoft SQL Server MVP

Blog : http://sqlmvp.kr

Facebook : http://facebook.com/sqlmvp

No. Subject Author Date Views
» SQL Server에 연결된 어플리케이션 드라이버 버전 확인 jevida(강성욱) 2016.09.13 884
1690 SQL Server 성능 대시보드 jevida(강성욱) 2016.09.13 2216
1689 SSMS를 이용한 데이터베이스 복사 하기 jevida(강성욱) 2016.09.13 11538
1688 SQL Server에서 DB2 링크드 서버 연결 방법 jevida(강성욱) 2016.09.13 3288
1687 SQL Server 인덱스 활성 / 비활성 하기 jevida(강성욱) 2016.09.13 2352
1686 파티션 오프셋과 SQL Server에 대한 디스크 할당 단위 크기 jevida(강성욱) 2016.09.13 1687
1685 Read the End of a Large Error Log (에러로그 끝 부분 읽기) jevida(강성욱) 2016.09.13 1299
1684 데이터베이스 여유공간 확인 jevida(강성욱) 2016.09.13 1445
1683 FILE GROUP 간 데이터 이동 jevida(강성욱) 2016.09.13 1601
1682 문서화 되지 않은 sys.fn_PhysLocFormatter 함수 jevida(강성욱) 2016.09.13 948
1681 SQL Server 관리자 전용 연결(DAC) jevida(강성욱) 2016.09.13 3390
1680 파일 접근 권한으로 인한 DB복원 실패 작업 해결하기 jevida(강성욱) 2016.09.13 1934
1679 DBCC CHECKDB 실행과 히스토리 관리 jevida(강성욱) 2016.09.13 1846
1678 MDF를 이용한 데이터베이스 복원 jevida(강성욱) 2016.09.13 1174
1677 EventID 3041 Error jevida(강성욱) 2016.09.13 1417
1676 데이터베이스 미러 백업 jevida(강성욱) 2016.09.13 1313
1675 SNAPSHOT을 이용한 SQL Server 복원 jevida(강성욱) 2016.09.13 2315
1674 복사 전용 백업(COPY ONLY BACKUP) jevida(강성욱) 2016.09.13 3375
1673 SQL Server 기본 백업 폴더 변경하기 jevida(강성욱) 2016.09.13 4066
1672 sp_helpindex 의 향상된 버전 minsouk 2016.05.17 4562





XE Login