아는 것이 좋은 것이다.

[MSSQL] 다른서버 DB 접속하여 select 하기 본문

DB

[MSSQL] 다른서버 DB 접속하여 select 하기

start0 2014. 7. 14. 16:13

-- 다른 IP에 있는 서버를 등록 -> 1번 서버에서 2번서버에 있는 DB를 Select 할 수 있음.


EXEC sp_addlinkedserver

@datasrc = '2번 서버 아이피'


EXEC sp_addlinkedserver

  @server  = 'ServerName',                      

   -- LinkedServer Name, 기본값 없음

  @srvproduct = '',                            

    -- OLEDB 데이터 원본 제품 이름, 기본값 NULL

  @provider = 'SQLOLEDB',     

   -- 이 데이터 원본에 해당하는 OLE DB 공급자의 고유 PROGID(프로그래밍 ID)

  @datasrc = '2번 서버 아이피',   

   -- OLE DB 공급자가 해석하는 데이터 원본의 이름

  @provstr = '',       

   -- OLEDB 공급자 연결 문자열, 기본값 NULL

  @catalog = '연결할 DB이름'     

   -- OLE DB 공급자에 연결할 때 사용되는 Catalog, Databse Name




-- 링크된 서버를 조회

EXEC sp_linkedservers

SELECT * FROM master.dbo.sysservers



-- 링크된 서버에 계정을 등록 -> 계정을 등록해야 1번 서버에서 쿼리를 실행하여 2번서버 DB의 테이블을 조회 할 수 있음.

EXEC sp_addlinkedsrvlogin

  @rmtsrvname  = 'ServerName',    

   -- LinkedServer Name, 기본값 없음

  @useself  = 'false',    

   -- Login ID 사용유무, 기본값 true

  @locallogin  = NULL,     

   -- Local Server Login 여부, 기본값 NULL

  @rmtuser  = '아이디',     

   -- Login ID

  @rmtpassword = '패스워드'    

   -- Login Password



-- select * from ServerName.DB이름.dbo(소유자).테이블 -> 2번 서버 쿼리 실행 예제


Comments