데이터베이스에 대해 Stretch Database를 사용하도록 설정

적용 대상: 예SQL Server 2016(13.x) 이상 - Windows만 해당

Stretch Database에 기존 데이터베이스를 구성하려면 SQL Server Management Studio에서 데이터베이스에 대해 태스크 | 스트레치 | 사용 을 선택하여 스트레치에 데이터베이스 사용 마법사를 엽니다. Transact-SQL을 사용하여 데이터베이스에 대해 Stretch Database를 사용하도록 설정할 수도 있습니다.

Stretch Database에 대해 데이터베이스를 사용하도록 설정하지 않은 경우 개별 테이블에 대해 작업 | 스트레치 | 사용 을 선택하면 마법사에서 Stretch Database에 대해 데이터베이스를 구성하고 사용자가 프로세스의 일부로 테이블을 선택할 수 있도록 합니다. 테이블에서 Stretch Database 활성화의 단계 대신 이 문서의 단계를 따릅니다.

데이터베이스 또는 테이블에서 스트레치 데이터베이스를 활성화하려면 db_owner 사용 권한이 필요합니다. 또한 데이터베이스에 대해 Stretch Database를 사용하도록 설정하려면 CONTROL DATABASE 권한이 필요합니다.

참고

나중에 Stretch Database를 사용하지 않도록 설정하려는 경우 테이블 또는 데이터베이스에서 Stretch Database를 사용하지 않도록 설정하면 원격 개체가 삭제되지 않습니다. 원격 테이블 또는 원격 데이터베이스를 삭제하려면 Azure 관리 포털을 사용하여 삭제해야 합니다. 원격 개체는 수동으로 삭제할 때까지 Azure 비용이 계속해서 발생합니다.

시작하기 전에

필수 구성 요소: 서버에서 스트레치 데이터베이스 사용

데이터베이스 또는 테이블에서 스트레치 데이터베이스를 활성화하기 전에 로컬 서버에서 스트레치 데이터베이스를 먼저 활성화해야 합니다. 이 작업에는 sysadmin 또는 serveradmin 권한이 필요합니다.

  • 필요한 관리 권한이 있으면 스트레치에 데이터베이스 사용 마법사가 스트레치에 사용할 서버를 구성합니다.

  • 필요한 권한이 없는 경우에는 마법사를 실행하기 전에 관리자가 sp_configure 를 실행하여 수동으로 옵션을 사용하도록 설정하거나 관리자가 마법사를 실행해야 합니다.

서버에서 스트레치 데이터베이스를 수동으로 사용하도록 설정하려면 sp_configure 를 실행하고 원격 데이터 보관 옵션을 설정합니다. 다음 예에서는 값을 1로 설정하여 remote data archive 옵션을 활성화합니다.

EXEC sp_configure 'remote data archive' , '1';  
GO

RECONFIGURE;  
GO  

자세한 내용은 원격 데이터 보관 서버 구성 옵션 구성sp_configure(Transact-SQL)를 참조하세요.

마법사를 사용하여 데이터베이스에서 Stretch Database 활성화

입력해야 하는 정보와 선택해야 하는 항목을 포함하여 스트레치에 데이터베이스 사용 마법사에 대한 자세한 내용은 스트레치에 데이터베이스 사용 마법사를 실행하여 시작을 참조하세요.

Transact-SQL을 사용하여 데이터베이스에서 스트레치 데이터베이스 활성화

개별 테이블에서 스트레치 데이터베이스를 활성화할 수 있으려면 데이터베이스에서 스트레치 데이터베이스를 먼저 활성화해야 합니다.

데이터베이스 또는 테이블에서 스트레치 데이터베이스를 활성화하려면 db_owner 사용 권한이 필요합니다. 또한 데이터베이스에 대해 Stretch Database를 사용하도록 설정하려면 CONTROL DATABASE 권한이 필요합니다.

  1. 시작하기 전에 Stretch Database에서 마이그레이션하는 데이터에 대한 기존 Azure 서버를 선택하거나 새 Azure 서버를 만듭니다.

  2. Azure 서버에서 SQL Server가 원격 서버와 통신하는 데 필요한 SQL Server의 IP 주소 범위를 사용하여 방화벽 규칙을 만듭니다.

    SSMS(SQL Server Management Studio)의 개체 탐색기에서 Azure 서버에 연결을 시도하여 필요한 값을 쉽게 찾고 방화벽 규칙을 만들 수 있습니다. SSMS를 사용하면 필요한 IP 주소 값이 이미 포함된 다음 대화 상자를 열어 규칙을 만들 수 있습니다.

    스트레치용 방화벽 규칙

  3. 스트레치 데이터베이스용으로 SQL Server 데이터베이스를 구성하려면, 데이터베이스에 데이터베이스 마스터 키가 있어야 합니다. 데이터베이스 마스터 키는 스트레치 데이터베이스가 원격 데이터베이스에 연결하기 위해 사용하는 자격 증명을 보호합니다. 새 데이터베이스 마스터 키를 만드는 예제는 다음과 같습니다.

    USE <database>; 
    GO  
    
    CREATE MASTER KEY ENCRYPTION BY PASSWORD='<password>'; 
    GO
    

    데이터베이스 마스터 키에 대한 자세한 내용은 CREATE MASTER KEY(Transact-SQL)데이터베이스 마스터 키 만들기를 참조하세요.

  4. Stretch Database에 대해 데이터베이스를 구성하는 경우 온-프레미스 SQL Server와 원격 Azure 서버 간의 통신에 사용할 Stretch Database의 자격 증명을 제공해야 합니다. 다음과 같은 두 가지 옵션이 있습니다.

    • 관리자 자격 증명을 제공할 수 있습니다.

      • 마법사를 사용하여 스트레치 데이터베이스를 활성화하면, 그 때 자격 증명을 만들 수 있습니다.

      • ALTER DATABASE 를 실행하여 스트레치 데이터베이스를 사용하도록 설정하려는 경우 ALTER DATABASE 를 실행하여 스트레치 데이터베이스를 사용하도록 설정하기 전에 수동으로 자격 증명을 만들어야 합니다.

      새 자격 증명을 만드는 예제는 다음과 같습니다.

      CREATE DATABASE SCOPED CREDENTIAL <db_scoped_credential_name>  
          WITH IDENTITY = '<identity>' , SECRET = '<secret>' ;
      GO   
      

      자격 증명에 대한 자세한 내용은 CREATE DATABASE SCOPED CREDENTIAL(Transact-SQL)을 참조하세요. 자격 증명을 만들려면 ALTER ANY CREDENTIAL 권한이 필요합니다.

    • 다음 조건이 모두 참인 경우 원격 Azure 서버와 통신하기 위해 SQL Server용 페더레이션된 서비스 계정을 사용할 수 있습니다.

      • SQL Server 인스턴스를 실행하는 서비스 계정은 도메인 계정입니다.

      • 이 도메인 계정은 Active Directory가 Azure Active Directory와 페더레이션된 도메인에 속합니다.

      • 원격 Azure 서버는 Azure Active Directory 인증을 지원하도록 구성됩니다.

      • SQL Server 인스턴스를 실행하는 서비스 계정은 원격 Azure 서버에서 dbmanager 또는 sysadmin 계정으로 구성되어야 합니다.

  5. 스트레치 데이터베이스용으로 데이터베이스를 구성하려면 ALTER DATABASE 명령을 실행합니다.

    1. SERVER 인수에 대해 기존 Azure 서버의 이름을 이름의 .database.windows.net 부분을 포함하여 제공합니다(예: MyStretchDatabaseServer.database.windows.net).

    2. CREDENTIAL 인수와 기존 관리자 자격 증명을 제공하거나 FEDERATED_SERVICE_ACCOUNT = ON을 지정합니다. 다음 예제에서는 기존 자격 증명을 제공합니다.

    ALTER DATABASE <database name>  
        SET REMOTE_DATA_ARCHIVE = ON  
            (  
                SERVER = '<server_name>' ,  
                CREDENTIAL = <db_scoped_credential_name>  
            ) ;  
    GO
    

다음 단계

참고 항목

스트레치 데이터베이스 관리자를 실행하여 스트레치 데이터베이스용 데이터베이스 및 테이블 식별
ALTER DATABASE SET 옵션(Transact-SQL)