적용 대상: SQL Server 2022 (16.x)
Azure SQL Database
이 문서에서는 T-SQL을 사용하여 SQL 변경 피드에 대한 Azure Synapse Link 모니터링 및 관리에 대한 세부 정보를 제공합니다.
중요합니다
이제 Microsoft Fabric에 대한 미러링을 사용할 수 있습니다. Fabric으로 미러링하면 Azure Synapse Link의 모든 기능과 더 나은 분석 성능을 제공하고, Fabric의 OneLake와 데이터 자산을 통합할 수 있는 기능을 제공하며, Delta Parquet 형식으로 데이터에 대한 개방형 액세스 권한을 제공합니다. Azure Synapse Link 대신 패브릭 미러링을 사용합니다.
Microsoft Fabric에 미러링을 사용하면 SQL Server 2016 이상, Azure SQL Database, Azure SQL Managed Instance, Oracle, Snowflake, Cosmos DB 등의 데이터를 포함하여 기존 데이터 자산을 패브릭의 OneLake에 직접 지속적으로 복제할 수 있습니다.
자세한 내용은 Microsoft Fabric 미러된 데이터베이스를 참조하세요.
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 스키마 및 여러 테이블이 만들어집니다. 이러한 개체는 시스템에서 관리되는 개체이므로 변경하지 마세요.
SQL Server 및 Azure SQL Database에 대한 Azure Synapse Link 모니터링
다음 시스템 개체를 사용하면 원본 데이터베이스에서 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
참조
- SQL용 Azure Synapse Link란?
- SQL Server 2022의 새로운 기능
- SQL Server용 Azure Synapse Link
- Azure SQL Database용 Azure Synapse Link
- Microsoft Azure Cosmos DB용 Azure Synapse Link
- Azure용 Dataverse Synapse Link