디비 작업을 하다보면, 다른 디비의 특정 데이터만 가져올 경우가 생긴다.

그때 유용한 기능이 디비간 연결이다.

 

 

연결 방법 - 첫번째

 

1. 'SQL Server Management Studio' 에서 연결할 서버로 접속한다.

 

2. 서버 개체 > 연결된 서버 > 오른쪽 마우스 > '새 연결된 서버' 메뉴를 선택한다.

 

3-1. 일반탭 : '연결된 서버' 에서 접속할 서버의 IP 또는 도메인을 적고 '서버유형' 에서

SQL Server를 선택한다.

 

3-2. 일반탭 : '연결된서버' 에서 별칭을 적어준다. 예를들어 'TestServer' 정도. 그리고

기타 데이터 원본을 선택 후 공급자를 'SQL Native Client', 데이터 원본을 서버의 IP 또는

도메인을 적어준다. 3-1 보다는 이 방법을 추천.

 

4. 보안탭 : '다음 보안 컨텍스트를 사용하여 연결' 을 선택한 후, 계정을 적어준다. 

 

5. 서버 옵션 : 권한을 어느 정도까지 허용할지 설정해 준다.

 

 

연결 방법 - 두번째

 

1. 쿼리 분석기를 연다.

 

2. 'sp_addlinkedserver' 로 서버를 추가한다.

 

Exec sp_addlinkedserver  
    @server = 'TestServer',     -- 추가할 링크드 서버이름
    @srvproduct = '',     -- 공백처리 (OLEDB 데이터 원본의 제품 이름)

    @provider = 'SQLOLEDB',     -- 공급자, MSSQL 

    @datasrc = '111.222.33.44',     -- 디비 경로

    @provstr='',     -- 공백처리 (연결할 특정 인스턴스의 이름)
    @catalog=''     -- 공백처리, 특정 디비를 쓰고 싶으면 적어준다.

Go

 

3. 'sp_addlinkedsrvlogin' 로 추가된 링크드 서버에 접속한다.

 

-- Exec sp_addlinkedsrvlogin '링크드서버명', 'False', Null, '아이디', '비밀번호'

Exec sp_addlinkedsrvlogin 'TestServer', 'False', Null, 'test', 'test4321' 

 

이렇게 하면 첫번째와 똑같은 설정을 할 수 있다. 좀 더 자세한 설명은 SQL 도움말을 참고.

 

 

사용 방법

 

불러오는 형식은 '디비서버명.디비명.테이블명' 이다.

예를 들면 이런 식이다.

 

- Select * From [111.222.33.44].Test.dbo.T_Test

- Select * From TestServer.Test.dbo.T_Test

[출처] [MSSQL] 디비간 연결|작성자 셰프

'▼ 게임개발 ▼ > 게임개발 - 서버+DB' 카테고리의 다른 글

프로시저 for/while/cursor  (0) 2013.01.02
ODBC 연결  (0) 2013.01.02
MSSQL server 2008 - 스케줄러(자동화)  (0) 2012.12.27
DB 튜닝이란?  (0) 2012.12.27
Posted by 타이슨킴