티스토리 뷰

IT Story/DB

MSSQL 연결된 서버 사용하기

행복한소식까치 2017. 11. 17. 17:02
반응형

MSSQL 에서 원격지 DB 연결하여 사용하는 방법에 대해서 포스팅 합니다.


로컬 환경 : MSSQL 2005   ,   원격지 환경 : MSSQL 2012

즉 MSSQL 2005 에서 MSSQL 2012의 Data 를 엑세스  MS제품이라 서로 호환이 잘됩니다.


연결된 서버 만들는 방법


1. 서버개체 > 연결된 서버 > 마우스 오른쪽 클릭 새 연결된 서버 클릭 하면 아래 그림이 나옵니다.
   1) 연결된 서버: 알아보기 편한 임의의 서버명을 입력합니다. ( 아래 그림에서 TEST)
   2) 기타 데이터 원본 선택
   3) Mssql to Mssql 인 경우 공급자는 SQL Native Client 선택 
      참고) ODBC연결일 경우 Microsoft OLE DB Provider for ODBC Drivers 선택 

   4) 공급문자열 : 서버 IP  기본포트가 아닌경우 서버IP,포트번호
      참고) ODBC  연결인 경우 ODBC 연결 문자열
   5) 카탈로그 : 접속할 database명 입력
   


2. 보안 탭 클릭 후  다음 보안 컨텍스트를 사용하여 연결 선택
   원격지 서버(여기서는 MSSQL 2012) 의 접근 권한이 있는 ID 와 패스워드 입력 후 확인 클릭 



3. 데이터 접근 방법

   SELECT [컬럼명] FROM [연결된 서버별칭].[데이터 베이스명].[데이터베이스 소유자명].[테이블명] 

   위 연결 기준으로 보면 
   Select * From Test.dbname.소유자명.테이블명


위 방법을 쿼리로 실행하는 방법


1) Linked  서버 생성

 EXEC sp_addlinkedserver

      @server = 'linkedserver',

      @srvproduct = '',

      @provider = 'SQLOLEDB',

      @datasrc = 'ip',

      @catalog = 'db명'



2) 접근 가능한 보안 권한 설정

   EXEC sp_addlinkedsrvlogin

      @rmtsrvname= 'linkedserver',

      @useself= 'false',

      @rmtuser = 'id',

      @rmtpassword = 'pw'



연결된 서버 확인 및 삭제 방법


1) 연결된 서버 확인

 

   SELECT * FROM master.dbo.sysservers WHERE srvname = '[연결된 서버별칭]'


2) 연결계정 확인

 

   SELECT * FROM master.sys.linked_logins WHERE remote_name = '[사용자 이름]'


3)연결된 서버 삭제

 

   EXEC sp_dropserver

      @server = '[연결된 서버별칭]'

4) 연결계정 삭제

 

   EXEC sp_droplinkedsrvlogin

      @rmtsrvname= '[연결된 서버별칭]',

      @locallogin = NULL

 

반응형
댓글