Step by Step: Integration Services를 이용하여 SQL Server 인스턴스 간에 로그인 전송하기

기술 자료: 976964 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

개요

관리상의 목적으로 SQL Server인스턴스 간에 로그인을 옮겨야 하는 경우가 있습니다. 다양한 방법으로 로그인을 옮길 수 있으며, 이 문서에서는 SQL Server 2008의 Integration Services(이하 SSIS)를 이용한 로그인 전송 방법에 대해 설명합니다.

다음과 같은 방법으로 로그인을 옮길 수 있으며, 이 문서에서는 방법 1에 대해서만 구체적으로 설명하겠습니다.
  • 방법 1: SSIS의 로그인 전송 태스크 이용하기
  • 방법 2: KB918992에서 제시한 저장 프로시저 이용하기
  • 방법 3: 원본 SQL Server에서 로그인 생성 스크립트를 받아서 대상 SQL Server에 적용하기
  • 방법 4: 수작업으로 대상 SQL Server에 로그인 생성하기

방법 1: SSIS의 로그인 전송 태스크 이용하기

같은 도메인 내에 있는 2개의 SQL Server 인스턴스 중 현재 로그인 정보를 가지고 있는 SQL Server 인스턴스를 원본이라 하고, 로그인이 새로 만들어져야 하는 SQL Server 인스턴스를 대상이라 하겠습니다.
SSIS는 SQL Server와 함께 제공되는 ETL(extract, transform, load) 도구이며, Visual Studio에 통합된 사용자 인터페이스를 제공합니다.

SSIS의 로그인 전송 태스크를 이용하려면 다음을 따라 해 보세요.
  1. [시작] 시작, [모든 프로그램], [Microsoft SQL Server 2008]를 차례대로 클릭하여 SQL Server Business Intelligence Development Studio(이하 BIDS)를 실행합니다.
  2. Visual Studio 화면이 표시되면 [파일], [새로 만들기], [프로젝트]를 차례대로 클릭합니다.
    그림 축소그림 확대
    00 01


  3. 새 프로젝트 화면에서 Integration Services 프로젝트를 선택한 후 [확인]을 클릭합니다.
    그림 축소그림 확대
    00 02


  4. 도구 상자 아래의 제어 흐름 항목에서 [로그인 전송 태스크]를 선택한 후 두 번 클릭합니다.
    그림 축소그림 확대
    00 03


  5. 제어 흐름 패널에 추가 된 로그인 전송 태스크를 확인한 후 오른 마우스 클릭하여 [편집]을 클릭합니다.
    그림 축소그림 확대
    00 04


  6. 로그인 전송 태스크 편집기 화면이 표시되면 왼쪽 메뉴에서 로그인을 선택합니다.
    그림 축소그림 확대
    00 05


  7. 로그인을 전송하는데 필요한 속성 중 원본 SQL Server와 대상 SQL Server로의 연결을 설정합니다.
    1. [연결]을 클릭한 다음 SourceConnection의 확장 단추를 클릭하여 <새 연결...>을 선택합니다.
    2. SMO 연결 관리자 편집기 화면이 표시되면 서버 이름서버 로그온시 사용할 인증 방법을 선택합니다. [연결 테스트]를 클릭하여 연결에 문제가 없는지 테스트합니다.
      그림 축소그림 확대
      00 06


    3. 테스트 결과 여부가 표시됩니다.
      그림 축소그림 확대
      00 07


    4. 로그인이 옮겨갈 DestinationConnection에 대해서도 SourceConnection과 동일한 방법으로 연결을 설정합니다.
      그림 축소그림 확대
      00 08


  8. 로그인을 전송하는데 필요한 속성 중 원본 SQL Server와 대상 SQL Server로의 로그인을 설정합니다.
    1. LoginsToTransfer에서 SelectedLogins가 선택된 것을 확인합니다.

      참고
      • SQL Server 인스턴스간에 전송할 로그인 선정 방식(LoginsToTransfer)으로 AllLogins | SelectedLogins | AllLoingsFromSelectedDatabases 중 하나를 선택할 수 있습니다. SelectedLogins이 기본값이며, 원본 SQL Server에서 전송할 로그인을 직접 선택하려는 경우에 사용합니다.
      • Login ListLoginsToTransfer에서 SelectedLogins이 선택된 경우에만 활성화되며 추가 버튼을 클릭하여 전송려는 Login을 직접 선택할 수 있습니다.
      • DatabasesListLoginsToTransfer에서 AllLoingsFromSelectedDatabases이 선택된 경우에만 활성화되며 추가 버튼을 클릭한 후 전송할 로그인이 포함된 Database 단위로 선택할 수 있습니다.
    2. LoginList에서 [추가]를 클릭하여 로그인 선택 화면을 표시합니다. 전송하려는 로그인을 체크한 후 [확인]을 클릭합니다.
      그림 축소그림 확대
      00 09


    3. 로그인 전송 태스크 편집기옵션에서 CopySids 값을 False에서 True로 변경하여 계정의 SID(보안 ID) 값이 로그인과 함께 전송되도록 설정합니다.
  9. 다시 [확인]을 클릭하여 로그인 전송 태스크 편집기 화면을 닫습니다.
  10. 설정이 완료된 로그인 전송 태스크를 마우스 오른쪽 단추로 클릭하여 [태스크 실행]을 클릭합니다.
    그림 축소그림 확대
    00 10


    참고: 작업이 진행 중일 때는 로그인 전송 태스크 박스가 노란색으로 표시됩니다. 이후 작업이 성공하면 녹색, 실패하면 빨간색으로 변경됩니다.
    그림 축소그림 확대
    00 11


  11. 작업 진행 정도는 진행률 탭에서 확인이 가능하며, 작업이 실패한 경우에도 이 곳에 발생한 오류를 통해 문제를 해결해 나갈 수 있습니다.
    그림 축소그림 확대
    00 12


    주의: 대상 서버에는 로그인에서 사용하는 DEFAULT DATABASE가 존재해야 합니다. 즉, DB까지 함께 옮기는 것이라면, 백업/복원을 통해 미리 해당 DB를 대상 SQL Server에 옮겨 놓는 것이 좋습니다.
  12. 대상 서버에서 전송된 로그인을 확인합니다. 다음 쿼리를 원본 및 대상 SQL Server에서 수행해 보면 동일한 SID 값을 갖는 계정이 생성되어 있는 것을 확인합니다.

    SELECT * FROM sys.syslogins
  13. SSIS에서 생성한 프로젝트를 재사용하려면, 디버깅을 중지한 후 전체 프로젝트를 저장합니다.

추가 정보

SSIS를 통해 전송된 로그인에서 주의할 점
  1. 암호가 임의의 값으로 초기화됨으로 암호를 다시 설정해야 합니다. 로그인과 함께 암호까지 그대로 전송하려면 다음 문서에서 제공하는 별도의 저장 프로시저를 이용해야 합니다.
  2. 계정이 "사용 안 함" 상태로 생성되므로 계정의 속성을 "사용" 상태로 변경해야 합니다.
  3. 특정 DB로의 사용자 매핑이 자동으로 만들어지지 않습니다. 로그인을 기반으로 특정 DB에 매핑되어 있는 계정을 사용자라고 합니다.
    로그인을 옮긴다고 해서 사용자까지 옮겨지는 것은 아니므로 로그인은 별도의 작업이 필요합니다. 이미 해당 DB를 원본 SQL Server에서 백업 후 대상 SQL Server에 복원해 놓았다면 이 작업은 하지 않아도 됩니다.
  4. 전송된 사용자와 DB에 있는 로그인의 SID가 일치하지 않는 경우 “분리된 사용자”가 발생하게 됩니다. 이 경우 로그인은 되지만 해당 DB를 사용하려고 할 때 오류가 발생하므로 SID를 일치시켜주는 작업이 추가로 필요합니다. 분리된 사용자 관련 추가 정보는 분리된 사용자 문제 해결 기술 문서를 참조할 수 있습니다.

상이한 SQL Server 버전 간의 로그인 전송
아래 표에서 SQL Server 2008 SSIS를 이용하여 SQL Server 2000, 2005, 2008간에 로그인 전송시 나타나는 특징을 설명합니다.
표 축소표 확대
원본
서버
대상
서버
사용자
매핑
암호
정책
서버
역할
로그인 사용 안 함 SID기본
데이터베이스
암호
20082008NYYYYN
20082005NYYYYYN
20082000NN/ANN/AYYN
20052008NYYYYYN
20052005NYYYYN
20052000NN/ANN/AYYN
20002008N기본값YYYYN
20002005N기본값YYYYN
20002000NN/ANN/AYYN


위 표의 각 항목에 대한 설명
  1. 원본서버, 대상서버: SQL Server 버전
  2. 사용자 매핑: 로그인 정보가 각각의 데이터베이스의 사용자로 자동 추가되는지 여부
  3. 암호 정책: SQL Server 2005/2008의 ‘암호 정책 강제 적용’ 설정이 전송되는지 여부. SQL Server 2000은 암호 정책을 지원하지 않기 때문에 상위 버전으로 로그인이 전송될 때는 해당 서버의 기본 값을 따르게 됩니다.
  4. 서버 역할: 로그인이 속한 서버 역할(예:‘sysadmin’) 설정이 함께 전송되는지 여부
  5. 로그인 사용 안 함: 대상 서버로 전송된 로그인이 자동으로 사용 안 함(disable)으로 되는지 여부. SQL Server 2000에서는 로그인 사용 안 함 기능을 지원하지 않습니다.
  6. SID: GUID 형태의 로그인 고유 식별자도 로그인과 함께 전송되는지 여부
  7. 기본 데이터베이스: 로그인 후 기본적으로 사용하게 되는 데이터베이스 설정값이 전송되는지 여부
  8. 암호: 원본 서버에 있는 로그인의 암호가 대상 서버로 전송되는지 여부. SSIS를 이용했을 때는 로그인 암호가 무조건 초기화되므로 다시 설정해야 합니다.

참고 사이트

의견 보내기

표 축소표 확대
그림 축소그림 확대
의견 보내기

Microsoft 고객지원 사이트에서는 고객님의 소리를 귀담아 듣습니다. 아래 의견 보내기로 소중한 의견 보내주시기 바랍니다.

속성

기술 자료: 976964 - 마지막 검토: 2014년 5월 23일 금요일 - 수정: 1.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
키워드:?
kbtshoot kbstepbystep KB976964

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com