MSSQL 연결된 서버(Linked Server) 사용하기 – ODBC 활용
MS SQL에서 연결된 서버(Linked Server)는 주로 분산 쿼리를 처리하는 데 사용됩니다. 로컬 서버에 네트워크로 연결된 이기종 데이터베이스를 연결된 서버에 등록하여 사용할 수 있도록 해줍니다. 윈도우 탐색기에서 네트워크 드라이버 연결하여 사용하는 것과 비슷합니다.
이기종 데이터베이스를 연결하는 방법은 여러 가지 있지만 ODBC(Open Database Connectivity)를 활용하여 연결된 서버에 등록 및 사용법에 대해서 알아보죠.
포스트 기준
– Microsoft SQL Server 2019
– SSMS 18.11
※ Microsoft 기술 문서

1. ODBC 64비트 추가
▶ 예시) 시스템 DSN -> BlueShare64 ODBC 추가 (SQL Server DB)

2. 연결된 서버 등록
▶ 등록하는 방법은 SSMS(SQL Server Management Studio) 툴로 등록하는 방법과 쿼리문 명령어로 등록하는 방법이 있는데요. SSMS 툴로 등록하는 방법에 대해서 알아보죠.
1. 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) 함수를 사용해서 등록 가능

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

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

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

3. 연결된 서버 사용하기
예시) 네트워크에 연결된 다른 데이터베이스 도로명 주소 테이블 사용
1. 스키마 방식 사용
[연결된 서버]…[데이터베이스. 소유자. 테이블]
-- 1) 스키마 방식 이용
-- [연결된 서버]...[데이터베이스.소유자.테이블]
SELECT TOP 10 *
FROM [ROAD_LINK]...[ROAD.DBO.ROAD_TB]
WHERE COLUMN2 = '삼일대로'

2. OPENQUERY 함수 사용

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

함께 보면 좋은 게시글
- MSSQL OPENROWSET 원격 데이터 가져오기 – ODBC 활용
- MSSQL 데이터베이스 백업 및 복원 하는 방법
- MSSQL 동적 쿼리 사용법, 저장 프로시저 및 함수 활용
- MSSQL INSERT EXEC 프로시저 실행 결과 테이블에 저장하기
- MSSQL 트리거(TRIGGER) 사용법(생성) 및 예제
이 글이 도움이 되셨다면 공유 부탁 드립니다.