서로 다른 데이터베이스를 연결할 필요가 있을 경우 링크드서버(linkedserver)를 이용합니다.
데이터베이스에 또 다른 원격지에 있는 데이터베이스를 연결할 수 있습니다.
이 때 사용하는 방식이 링크드서버를 지정하여 데이터베이스와 데이터베이스가
서로 연결된 상태로 유지할 수 있는 기능입니다.
링크드서버를 지정하는 방법은 간단합니다.
지정된 스토어드프로시져(Stored Procedure)를 두번 호출 하면 됩니다.
첫번째 호출 스토어드프로시져, sp_addlinkedserver
두번째 호출 스토어드프로시져, sp_addlinkedsrvlogin
이렇게 두개의 프로시저에 파라미터만 채워서 넘겨주면 링크드서버가 생성완료 되며,
현재 MSSQL Server와 또다른 MSSQL Server가 연결이 되면서 마치 하나의 데이터베이스인양
사용할 수 있게 됩니다.
MSSQL 링크드서버 생성
EXEC sp_addlinkedserver
@server = 'lnkDevServer', -- 링크이름
@srvproduct = '', -- 공백지정
@provider = 'SQLOLEDB', -- MSSQL 서버일 경우 SQLOLEDB로 지정
@datasrc = '111.1.11.111,1433', -- 원격지 DB IP
@provstr = '', -- 공백지정
@catalog = 'DB_MASTER' -- 데이터베이스명 지정
GO
EXEC sp_addlinkedsrvlogin 'lnkDevServer', 'false', NULL, 'satest', 'password123'
이렇게 lnkDevServer 라는 링크를 생성하고 링크드서버에 접근할 때는 아래와 같이 Select 하시면 됩니다.
링크드서버 접근 방법
select * from lnkDevServer.DB_MASTER.dbo.MyTable
SSMS(SQL Server Management Studio)에서는
서버 개체 -> 연결된 서버 메뉴에서 생성된 링크드서버를 확인 할 수 있습니다.
댓글