管理适用于 SQL Server 和 Azure SQL 数据库的 Azure Synapse Link
适用于: SQL Server 2022 (16.x) Azure SQL 数据库
本文提供有关使用 T-SQL 监视和管理 Azure Synapse Link for SQL 更改源的详细信息。
- 什么是 Azure Synapse Link for SQL?
- 有关详细信息,请参阅。
- 要快速入门,请参阅以下内容:
适用于 Azure SQL 数据库的 Azure Synapse Link 完全托管,包括预配登陆区域,并使用本文中所述的类似更改检测过程。 有关详细信息,请参阅适用于 Azure SQL 数据库的 Synapse Link。
对于 SQL Server,登陆区域由客户管理且可见,但不建议或支持将其用于使用或修改登陆区域中的文件。
目前,只有 SQL Server 中的 sysadmin 服务器角色的成员或 db_owner 数据库角色才能执行这些过程。
SQL Server 或 Azure SQL 数据库将维护特定于每个表组的元数据。
备注
启用 Azure Synapse Link for SQL 将在源数据库的 changefeed
架构中创建一个 changefeed
数据库用户、一个 changefeed
架构和多个表。 请不要更改任何这些对象 - 它们是系统管理的。
监视适用于 SQL Server 和 Azure SQL 数据库的 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;
查看当前活动
若要查看当前活动,请使用动态管理视图 sys.dm_change_feed_log_scan_sessions,该视图会返回 Azure Synapse Link fo SQL 更改源的活动。
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 门户中的 Synapse Studio 来创建和配置适用于 SQL Server 2022 (16.x) 和 Azure SQL 数据库的 Azure Synapse Link。 提供以下删除和禁用存储过程用于删除 Azure Synapse Link,以防删除或无法访问 Azure Synapse Studio。
禁用数据库的更改源
若要在数据库级别禁用更改源,并随后禁用所有关联表的元数据,请使用 sys.sp_change_feed_disable_db 系统存储过程。
当对活动表组禁用更改源时,所有连接和计划程序都将立即/强制停止,无需等待当前操作完成。 无法为数据库创建新的更改源表组,并且将删除描述表组的所有现有元数据。 重新启用更改源将导致对所有表组进行清洁初始化,并重设所有数据的种子。
EXECUTE sys.sp_change_feed_disable_db
GO
删除更改源表组
建议在 Azure 门户中使用 Azure Synapse Studio 来配置和管理 Azure Synapse Link。
若要删除表组的更改源元数据,请使用 sys.sp_change_feed_drop_table_group 系统存储过程。
如果表组的更改源在 SQL Server 或 Azure SQL 数据库端删除,则与此表组关联的单个更改源表的所有复制活动都将停止。 所有关联的元数据也会删除。
EXECUTE sys.sp_change_feed_drop_table_group
@table_group_id uniqueidentifier
GO
删除更改源表
建议在 Azure 门户中使用 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
另请参阅
- 什么是 Azure Synapse Link for SQL?
- SQL Server 2022 中的新增功能有哪些?
- 适用于 SQL Server 的 Azure Synapse Link
- 适用于 Azure SQL 数据库的 Azure Synapse Link
- Azure Synapse Link for Azure Cosmos DB
- 适用于 Dataverse 的 Azure Synapse Link