본문 바로가기
프로그래밍/TSQL

[MSSQL] MYSQL을 연결된 서버로 추가하기

by 정리 습관(★arranging★) 2021. 1. 26.
728x90

MSSQL에 MYSQL 서버를 연결된 서버로 붙여야 하는 경우가 있습니다. 

OPENQUERY로 편하게 접근하고 소량의 데이터를 주고받고 확인 하고 싶을때는 LINKED SERVER 기능을 활용해서 아래 스크립트로 MYSQL데이터 베이스를 추가하여 사용 하시기 바랍니다.

연결된 MYSQL 서버는 권한만 허락한다면 아래와 같이 SERVER.DB1, SERVER.DB2 이런 식으로 사용 가능합니다. 

SELECT * FROM OPENQUERY([연결된MYSQL서버],'SELECT A.ID, B.ID2 FROM DB1 A JOIN DB2 B ON A.ID = B.ID')A

 

If you want add mysql database link to your mssql database. Use below script.

 

USE [master]
GO
EXEC master.dbo.sp_addlinkedserver 
@server = N'OBN_GEN6_TEST'
,@srvproduct=N'MySQL'
,@provider=N'MSDASQL'
,@provstr=N'Driver={MySQL ODBC 8.0 Unicode Driver};DATABASE=[mysql db name];OPTION=134217728;UID=[uid];PWD=[pwd];SERVER=[server ip]'
GO

EXEC master.dbo.sp_serveroption @server=N'[linked server name]', @optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'[linked server name]', @optname=N'rpc out', @optvalue=N'true'
GO
/*
SELECT *
FROM OPENQUERY([linked server name],'SELECT * FROM [mysql db name].[table]') a
*/

 

UI 기반으로 해도 되지만 스크립트로 공유 드린걸 저장해두면 나중에 자동화에 편하니까 공유드립니다.

SP_ADDLINKEDSERVER 프로시저를 활용해서 등록하고 SP_SERVEROPTION SP를 통해서상세 옵션을 변경해줍니다.

 

댓글