MSSQL 연결된 서버(Linked Server) 사용하기 - ODBC 활용

MSSQL 연결된 서버(Linked Server) 사용하기 – ODBC 활용

MS SQL에서 연결된 서버(Linked Server)는 주로 분산 쿼리를 처리하는 데 사용됩니다. 로컬 서버에 네트워크로 연결된 이기종 데이터베이스를 연결된 서버에 등록하여 사용할 수 있도록 해줍니다. 윈도우 탐색기에서 네트워크 드라이버 연결하여 사용하는 것과 비슷합니다. 

이기종 데이터베이스를 연결하는 방법은 여러 가지 있지만 ODBC(Open Database Connectivity)를 활용하여 연결된 서버에 등록 및 사용법에 대해서 알아보죠.

포스트 기준

– Microsoft SQL Server 2019

– SSMS 18.11


※ Microsoft 기술 문서

Microsoft 기술 문서

1. ODBC 64비트 추가

▶ 예시) 시스템 DSN -> BlueShare64 ODBC 추가 (SQL Server DB)

시스템 DSN -> BlueShare64 ODBC 추가 (SQL Server DB)

2. 연결된 서버 등록

▶ 등록하는 방법은 SSMS(SQL Server Management Studio) 툴로 등록하는 방법과 쿼리문 명령어로 등록하는 방법이 있는데요. SSMS 툴로 등록하는 방법에 대해서 알아보죠. 


1. DBMS → 서버 개체 → 연결된 서버 → 새 연결된 서버(N)…

DBMS → 서버 개체 → 연결된 서버 → 새 연결된 서버(N)...


2. 일반 탭

연결된 서버(N) : 사용할 서버 이름 기입

공급자(P) : Microsoft OLE DB Provider for ODBC Drivers 선택

제품 이름(U) : MSDASQL (ODBC인 경우)

데이터 원본(D) : BlueShare64 (ODBC 64비트에서 추가한 시스템 DSN 이름)

공급자 문자열(V) : LocalServer (ODBC인 경우)

일반 탭


※ sp_addlinkedserver(Transact-SQL) 함수를 사용해서 등록 가능

sp_addlinkedserver(Transact-SQL) 함수를 사용해서 등록 가능


3. 보안 탭

▶ 다음 보안 컨텍스트를 사용하여 연결(M) 선택

보안 탭


※ sp_addlinkedsrvlogin(Transact-SQL) 함수를 사용해서 등록 가능

sp_addlinkedsrvlogin(Transact-SQL) 함수를 사용해서 등록 가능


4. 등록 확인 및 연결 테스트

등록 확인 및 연결 테스트

3. 연결된 서버 사용하기

예시) 네트워크에 연결된 다른 데이터베이스 도로명 주소 테이블 사용


1. 스키마 방식 사용

[연결된 서버]…[데이터베이스. 소유자. 테이블]

-- 1) 스키마 방식 이용
-- [연결된 서버]...[데이터베이스.소유자.테이블]
SELECT TOP 10 *
  FROM [ROAD_LINK]...[ROAD.DBO.ROAD_TB]
 WHERE COLUMN2 = '삼일대로'
스키마 방식 사용


2. OPENQUERY 함수 사용

OPENQUERY 함수 사용
-- 2) OPENQUERY 함수 사용
SELECT *
  FROM OPENQUERY(ROAD_LINK, 'SELECT TOP 10 * FROM ROAD_TB')
OPENQUERY 함수 사용 예제


이 글이 도움이 되셨다면 공유를 부탁드립니다. 다음 글에서 뵙겠습니다!

위로 스크롤