본문 바로가기

MS-SQL

MS-SQL 연결된 서버(Linked Server) 설정방법

반응형

MSSQL 링크드 서버 설정 방법

1. 링크드 서버란?

MSSQL의 링크드 서버(Linked Server)는 하나의 SQL Server 인스턴스에서 다른 SQL Server 또는 이기종 데이터베이스(MySQL, Oracle 등)에 연결하여 데이터를 조회하고 조작할 수 있도록 해주는 기능입니다.

2. 링크드 서버 추가 방법

2.1 SQL Server Management Studio(SSMS)에서 설정하기

    1. SSMS 실행 및 연결
      • SQL Server Management Studio(SSMS)를 실행하고 연결합니다.
    2. 객체 탐색기에서 링크드 서버 추가
      • 개체 탐색기(Object Explorer)에서 서버 개체(Server Objects)링크드 서버(Linked Servers)를 마우스 우클릭하여 새 링크드 서버(New Linked Server)를 선택합니다.
    3. 링크드 서버 정보 입력
      • 일반(General) 탭에서 아래 정보를 입력합니다.
        • 서버 이름(Linked Server): 연결할 원격 서버의 이름 또는 IP 주소
        • 서버 유형(Server Type): SQL Server 또는 기타 데이터 원본(Other Data Source) 선택
        • 프로바이더(Provider): Microsoft OLE DB Provider for SQL Server 선택
        • 제품 이름(Product Name): SQL Server 입력
        • 데이터 원본(Data Source): 원격 서버의 인스턴스 이름 입력 (예: 192.168.1.100\SQLEXPRESS)
    4. 보안(Security) 설정
      • 보안(Security) 탭에서 연결 인증 정보를 설정합니다.
        • 로컬 서버 로그인과 원격 서버 로그인을 매핑하거나 현재 보안 컨텍스트를 사용하도록 설정을 선택합니다.
    5. 옵션 설정 및 테스트
      • 옵션(Server Options) 탭에서 RPC OutTrue로 설정
      • 확인(OK) 버튼을 눌러 링크드 서버를 추가하고 설정이 정상적으로 적용되었는지 확인합니다

2.2 T-SQL로 링크드 서버 추가

EXEC sp_addlinkedserver
    @server = 'LinkedServerName',
    @srvproduct = 'SQL Server',
    @provider = 'SQLNCLI',
    @datasrc = '192.168.1.100';

EXEC sp_addlinkedsrvlogin
    @rmtsrvname = 'LinkedServerName',
    @useself = 'false',
    @rmtuser = 'remote_user',
    @rmtpassword = 'remote_password';

 

3. 링크드 서버 테스트 및 사용 방법

3.1 연결 테스트

EXEC sp_testlinkedserver 'LinkedServerName';

 

3.2 데이터 조회

SELECT * FROM LinkedServerName.DatabaseName.SchemaName.TableName;

3.3 원격 쿼리 실행

EXEC LinkedServerName.DatabaseName.dbo.sp_helpdb;

 

4. 링크드 서버 제거 방법

EXEC sp_dropserver 'LinkedServerName', 'droplogins';

 

5. 자주 발생하는 오류 및 해결 방법

5.1 연결 오류 (Login failed for user)

  • 원격 서버의 로그인 권한을 확인하고 sp_addlinkedsrvlogin을 사용하여 올바른 사용자 정보를 설정합니다.

5.2 OLE DB Provider 오류

  • sp_configure 'Ad Hoc Distributed Queries', 1; RECONFIGURE; 실행 후 다시 시도합니다.

5.3 RPC Out 오류

  • EXEC sp_serveroption 'LinkedServerName', 'rpc out', true; 명령어를 실행하여 활성화합니다.

6. 결론

MSSQL의 링크드 서버를 사용하면 여러 데이터베이스 서버 간의 데이터 공유와 쿼리 실행이 가능해집니다. 위의 방법을 따라 설정하고 테스트해보면 효율적인 데이터 연동이 가능합니다.

반응형