Linked Server 를 구성 할때 SSMS , EM 를 통해서들 많이 구성 하시죠.
하지만 MS-SQL 시스템 프로시져를 통해 구성할수도 있습니다.
그 부분에 대해서 정리해 보았습니다.
--LINKSERVER를통해적용할데이터베이스테이블데이터조회
SELECT TEST.* FROM OPENROWSET('SQLOLEDB', 'BLUEJINIPC';
'SA';'1234',
'SELECT * FROM ADVENTUREWORKS.HUMANRESOURCES.EMPLOYEE')
AS TEST
--아래와같이등록한다. SQL SERVER인경우
EXEC SP_ADDLINKEDSERVER 'BLUEJINIPC', 'SQL SERVER'
-- LINKED 서버삭제
EXEC SP_DROPSERVER 'BLUEJINIPC' --삭제하는경우
--로그인할계정등록(로컬서버로그인과원격서버로그인매핑)
EXEC SP_ADDLINKEDSRVLOGIN @RMTSRVNAME='BLUEJINIPC',
@USESELF='FALSE', @LOCALLOGIN='SA', @RMTUSER='SA', @RMTPASSWORD='1234'
SP_DROPLINKEDSRVLOGIN 'BLUEJINIPC', 'SA' --계정을삭제하는경우
--로그인할계정등록(다음보안컨텍스트를사용하여연결)
EXEC SP_ADDLINKEDSRVLOGIN 'BLUEJINIPC'
, 'FALSE', NULL, @RMTUSER='SA', @RMTPASSWORD='1234'
-- FOUR-PART NAME
SELECT *
FROM [BLUEJINIPC].ADVENTUREWORKS.HUMANRESOURCES.EMPLOYEE
USE MASTER
--LINKED SERVER 옵션설정
EXEC SP_SERVEROPTION [BLUEJINIPC], 'COLLATION COMPATIBLE' , 'TRUE' --데이터정렬호환
EXEC SP_SERVEROPTION [BLUEJINIPC], 'RPC' , 'TRUE' --RPC 사용
EXEC SP_SERVEROPTION [BLUEJINIPC], 'RPC OUT' , 'TRUE' --RPC 내보내기사용
EXEC SP_SERVEROPTION [BLUEJINIPC], 'USE REMOTE COLLATION' , 'TRUE' --원격정렬사용
EXEC SP_SERVEROPTION [BLUEJINIPC], 'DATA ACCESS' , 'TRUE' --데이터액세스
EXEC SP_SERVEROPTION [BLUEJINIPC], 'CONNECT TIMEOUT' , 120 --연결시간제한(SEC)
EXEC SP_SERVEROPTION [BLUEJINIPC], 'QUERY TIMEOUT' , 120 --쿼리제한시간(SEC)
--OPENQUERY를통해PASS-THROUGH쿼리를실행하는경우
SELECT * FROM OPENQUERY
([BLUEJINIPC], 'SELECT * FROM ADVENTUREWORKS.HUMANRESOURCES.EMPLOYEE')
-- 링크드이름을모를경우EM 이나SSMS 열어보지않고아래명령으로쉽게찾을수있습니다.
SP_HELPSERVER