본문 바로가기

IT/Mssql

[MSSQL] DB LINK 생성 후 테이블 조회


다음은 MSSQL에서 다른 네트워크의 MSQL DB를 연결하고, 연결한 DB의 테이블을 조회하는 방법이다.


1. MSSQL DB LINK 서버 생성 (빨간색 글자인 부분만 수정 필요)


EXEC sp_addlinkedserver

      @server = 'TEST_DBLINK', -- 서버 별칭  

      @srvproduct = '', 

      @provider = 'SQLOLEDB', 

      @datasrc = '121.71.171.71',  -- 연결할 DB 서버 IP

      @catalog = 'TEST_DB' -- 연결할 DB 명


2. DB LINK 생성 여부 확인 


SELECT * FROM master.dbo.sysservers


3. 연결 계정 생성


   EXEC sp_addlinkedsrvlogin

      @rmtsrvname= 'TEST_DBLINK',  -- 서버 별칭

      @useself= 'false',

      @rmtuser = 'test', -- 연결할 DB의 계정 이름

      @rmtpassword = 'test1234!' -- 연결할 DB의 계정 패스워드


4. 연결 계정 생성 여부 확인


SELECT * FROM master.sys.linked_logins 

WHERE remote_name = 'test'



5. 연결한 DB의 테이블 조회하기


블로그에 보면, SELECT * FROM 서버별칭.DB명.연결한DB계정.테이블명 으로 조회하라고 되어 있는 글이 있어서

SELECT * FROM TEST_DBLINK.TEST_DB.test.BOARD; 로 조회 했더니 테이블을 찾을 수 없다는 오류 발생


그래서 연결한 db계정이 아닌 소유자로 변경하여 조회하였더니 성공!!


SELECT * FROM TEST_DBLINK.TEST_DB.dbo.BOARD;