본문 바로가기
Database & Bigdata/MS-SQL

[MS-SQL] MS-SQL에서 MySQL(MariaDB) linked Server 연결,조회,삭제 / Linked Server 란 ? / ODBC 드라이버 설치 및 시스템 DSN 추가 / Openquery

by z.1nee 2021. 9. 15.
SMALL

목적

SQL Server에서 MySQL/MariaDB로 Linked Server 연결해 데이터 조회

 

 

Linked Server란 ?

  • 서로 다른 데이터베이스를 연결할 필요가 있을 경우 링크드서버(linkedserver) 이용
  • 데이터베이스에 다른 원격지에 있는 데이터베이스를 연결할 있음
  • 링크드서버를 지정해 데이터베이스와 데이터베이스가 서로 연결된 상태로 유지할 있는 기능
  • Oracle DB Link 동일한 역할 수행

 

 

ODBC 드라이버 설치 및 시스템 DSN 추가

* ODBC(Open DataBase Connectivity)란 ?

- Windows Server에서 다른 데이터베이스 (Oracle, MySQL,MariaDB 등)와 연동이 필요할 때 사용

- MS에서 제공하지 않음 해당 데이터베이스 회사에서 제공하는 ODBC 드라이버 직접 다운받아 설치

 

1. ODBC 드라이버 설치

https://dev.mysql.com/downloads/connector/odbc/

 

 

2. 시스템 DSN 추가

 

 

* 사용자 DSN /  시스템 DSN 

사용자 DSN : 특정 사용자에 대한 DSN

시스템 DSN : 시스템 전체에서 사용되는 DSN

 

MySQL ODBC Uicode Driver 선택

TCP/IP Server : MySQL / MariaDB 서버 IP 입력

User : DB 계정 

Password : DB 계정 PW

Test 눌렀을 때 Connection Successful 나오면 정상 연결

Database 드롭박스에 연결하고자하는 DB가 모두 보이는지 확인  후 OK

 

 

 

 

Linked Server 연결하기

1. 서버 등록 쿼리

EXEC sp_addlinkedserver
@server ='test',                       -- linked server 이름
@srvproduct='MariaDB',           -- 데이터 원본 제품 이름     
@provider='MSDASQL',            -- 공급자 고유 식별자 
@datasrc='MariaDB_test'          -- ODBC에 등록한 시스템 DSN 이름       

 

2. 서버 등록 확인 쿼리

SELECT * FROM master.dbo.sysservers

 

 

3. 연결 계정 등록 쿼리

EXEC sp_addlinkedsrvlogin 
@rmtsrvname='test',            -- linked server 이름
@useself='False',                 -- 로그인 이름 사용 유무 (default 값 TRUE)
@locallogin=NULL,              -- 로컬 서버 로그인 여부 (default 값 NULL)
@rmtuser='root',                 -- DB 계정 이름
@rmtpassword='new1234!'    -- DB 계정 사용자 암호

댓글