Azure SQL 데이터베이스 구성

다음 단계에서는 Datastream과 함께 사용할 Azure SQL 데이터베이스를 구성하는 방법을 설명합니다.

Azure SQL 데이터베이스를 구성하려면 다음 안내를 따르세요.

  1. 소스 Azure SQL 데이터베이스에 변경 데이터 캡처(CDC)를 사용 설정합니다. 이렇게 하려면 Azure Data Studio 또는 SQL Server Management Studio를 사용하여 데이터베이스에 연결하고 다음 명령어를 실행합니다.

    EXEC sys.sp_cdc_enable_db;
    GO
    
  2. 변경사항을 캡처해야 하는 테이블에서 CDC를 사용 설정합니다.

    EXEC sys.sp_cdc_enable_table
    @source_schema = N'SCHEMA_NAME',
    @source_name = N'TABLE_NAME',
    @role_name = NULL
    GO
    

    다음을 바꿉니다.

    • SCHEMA_NAME: 테이블이 속한 스키마의 이름
    • TABLE_NAME: CDC를 사용 설정할 테이블의 이름
  3. SQL Server 에이전트를 시작하고 항상 실행되는지 확인합니다. SQL Server 에이전트가 장시간 작동 중지 상태로 유지되면 로그가 잘릴 수 있으며 Datastream에서 읽지 않은 변경 데이터가 영구적으로 손실될 수 있습니다.

    SQL Server 에이전트 실행에 대한 자세한 내용은 SQL Server 에이전트 인스턴스 시작, 중지, 다시 시작을 참조하세요.

  4. 스냅샷 격리를 사용 설정합니다.

    SQL Server 데이터베이스에서 데이터를 백필할 때는 스냅샷 일관성을 확인하는 것이 중요합니다. 이 섹션에서 설명하는 설정을 적용하지 않을 경우 백필 프로세스 중에 데이터베이스가 변경되어 특별히 기본 키가 없는 테이블에 대해 중복 또는 잘못된 결과가 발생할 수 있습니다.

    스냅샷 격리를 사용 설정하면 백필 프로세스 시작 시 데이터베이스의 임시 보기가 생성됩니다. 이렇게 하면 다른 사용자가 라이브 테이블을 동시에 변경하더라도 복사되는 데이터가 일관되게 유지됩니다. 스냅샷 격리를 사용 설정하면 성능에 약간 영향을 미칠 수 있으나 안정적인 데이터 추출을 위해 필수입니다.

    스냅샷 격리를 사용 설정하려면 다음 안내를 따르세요.

    1. SQL Server 클라이언트를 사용하여 데이터베이스에 연결합니다.
    2. 다음 명령어를 실행합니다.
    ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;
    

    DATABASE_NAME을 데이터베이스 이름으로 바꿉니다.

  5. Datastream 사용자를 만듭니다.

    1. master 데이터베이스에 연결하고 로그인을 만듭니다.

      USE master;
      CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';
      
    2. 소스 데이터베이스에 연결하고 로그인할 사용자를 만듭니다.

      USE DATABASE_NAME
      CREATE USER USER_NAME FOR LOGIN YOUR_LOGIN;
      
    3. 사용자에게 db_ownerdb_denydatawriter 역할을 할당합니다.

      EXEC sp_addrolemember 'db_owner', 'USER_NAME';
      EXEC sp_addrolemember 'db_denydatawriter', 'USER_NAME';