Share via


SQL Server 및 Azure SQL Database에 대한 Azure Synapse Link 관리

적용 대상: SQL Server 2022(16.x) Azure SQL Database

이 문서에서는 T-SQL을 사용하여 SQL 변경 피드에 대한 Azure Synapse Link 모니터링 및 관리에 대한 세부 정보를 제공합니다.

Azure SQL Database용 Azure Synapse Link는 랜딩 존 프로비저닝을 포함하여 완전히 관리되며 이 문서에 설명된 대로 유사한 변경 검색 프로세스를 사용합니다. 자세한 내용은 Azure SQL Database용 Synapse Link를 참조하세요.

SQL Server의 경우 랜딩 존은 고객이 관리하고 볼 수 있지만 랜딩 존의 파일을 사용하거나 수정하는 것은 권장되지 않거나 지원되지 않습니다.

현재 SQL Server의 sysadmin 서버 역할의 멤버 또는 db_owner 데이터베이스 역할만 이러한 프로시저를 실행할 수 있습니다.

SQL Server 또는 Azure SQL Database는 각 테이블 그룹에 특정한 메타데이터를 유지 관리합니다.

참고

Azure Synapse Link for SQL을 사용하도록 설정하면 원본 데이터베이스의 changefeed 스키마 내에 changefeed 데이터베이스 사용자, changefeed 스키마 및 여러 테이블이 만들어집니다. 이러한 개체는 시스템에서 관리되는 개체이므로 변경하지 마세요.

다음 시스템 개체를 사용하면 원본 데이터베이스에서 Azure Synapse Link for SQL 기능의 상태를 쿼리할 수 있습니다.

구성 보기

링크의 현재 구성을 검토하려면 sys.sp_help_change_feed 시스템 저장 프로시저를 실행합니다.

EXECUTE sys.sp_help_change_feed

변경 피드 오류 검토

Azure Synapse Link 변경 피드의 오류를 검토하려면 동적 관리 뷰 sys.dm_change_feed_errors를 사용합니다. 이 DMV는 지난 32개 세션의 오류를 표시합니다. 한 세션에는 여러 오류(예: 랜딩 존 실패에 대한 재시도 시도)가 포함될 수 있습니다. 또한 이 DMV는 스냅샷 및 증분 변경 게시 프로세스 중에 발생한 오류를 표시합니다.

SELECT * FROM sys.dm_change_feed_errors;

현재 활동 보기

현재 활동을 보려면 Azure Synapse Link fo SQL 변경 피드에 대한 활동을 반환하는 동적 관리 뷰 sys.dm_change_feed_log_scan_sessions를 사용합니다.

SELECT * FROM sys.dm_change_feed_log_scan_sessions;

변경 피드 사용 및 변경 피드 개체 만들기

시스템 저장 프로시저 sys.sp_change_feed_enable_table, sys.sp_change_feed_enable_db, sys.sp_change_feed_create_table_group은 문서화되지 않았으며 내부용으로만 사용됩니다. 항상 Azure Portal의 Synapse Studio를 사용하여 SQL Server 2022(16.x) 및 Azure SQL Database에 대한 Azure Synapse Link를 만들고 구성합니다. Azure Synapse Studio가 제거되었거나 액세스할 수 없는 경우 Azure Synapse Link를 제거하기 위해 다음과 같은 저장 프로시저 삭제 및 사용 안 함이 제공됩니다.

데이터베이스에 대한 변경 피드 사용 안 함

데이터베이스 수준에서 변경 피드를 사용하지 않도록 설정하고 이후에 연결된 모든 테이블에 대한 메타데이터를 사용하지 않으려면 sys.sp_change_feed_disable_db 시스템 저장 프로시저를 사용합니다.

활성 테이블 그룹에서 변경 피드를 사용하지 않도록 설정하면 현재 작업이 완료될 때까지 기다리지 않고 모든 연결 및 스케줄러가 즉시/강제로 중지됩니다. 데이터베이스에 대해 새 변경 피드 테이블 그룹을 만들 수 없으며 테이블 그룹을 설명하는 모든 기존 메타데이터가 삭제됩니다. 변경 피드를 다시 사용하도록 설정하면 모든 테이블 그룹을 새로 초기화하고 모든 데이터의 크기를 다시 설정합니다.

EXECUTE sys.sp_change_feed_disable_db 
GO 

변경 피드 테이블 그룹 삭제

Azure Portal에서 Azure Synapse Studio를 사용하여 Azure Synapse Link를 구성하고 관리하는 것이 좋습니다.

테이블 그룹에 대한 변경 피드 메타데이터를 삭제하려면 sys.sp_change_feed_drop_table_group 시스템 저장 프로시저를 사용합니다.

테이블 그룹의 변경 피드가 SQL Server 또는 Azure SQL Database 쪽에 놓이면 이 테이블 그룹과 연결된 개별 변경 피드 테이블에 대한 모든 복제 작업이 중지됩니다. 연결된 모든 메타데이터도 삭제됩니다.

EXECUTE sys.sp_change_feed_drop_table_group
      @table_group_id uniqueidentifier 
GO

변경 피드 테이블 삭제

Azure Portal에서 Azure Synapse Studio를 사용하여 Azure Synapse Link를 구성하고 관리하는 것이 좋습니다.

변경 피드 테이블 그룹에서 변경 피드 테이블을 제거하려면 sys.sp_change_feed_disable_table 시스템 저장 프로시저를 사용합니다.

sys.sp_change_feed_disable_table이 호출되면 이 테이블에 대한 변경 내용 게시가 즉시 중지됩니다. 검사되었지만 아직 게시되지 않은 변경 내용은 무시됩니다. Azure Synapse에 마지막으로 게시 및 동기화된 변경 내용은 보장할 수 없습니다. 원본과 대상 간의 동기화를 특정 시간까지 보장하려면 대상에서 “마지막 트랜잭션 커밋 시간”을 확인한 다음, 이 프로시저를 호출합니다.

EXECUTE sys.sp_change_feed_disable_table
    @table_group_id uniqueidentifier,
    @table_id uniqueidentifier
GO

참고 항목

다음 단계