【问题标题】:How to check if change tracking is enabled如何检查是否启用了更改跟踪
【发布时间】:2012-04-28 02:52:26
【问题描述】:

在运行ALTER DATABASE 命令启用更改跟踪之前,我正在尝试确定我的数据库上是否已启用更改跟踪。如果多次运行,我会尝试防止这些脚本出错。

我登记了sys.databasessys.dm_tran_commit_table,但找不到我要找的东西。

【问题讨论】:

    标签: sql-server sql-server-2008


    【解决方案1】:

    你可以使用这个查询:

    SELECT * 
    FROM sys.change_tracking_databases 
    WHERE database_id=DB_ID('MyDatabase')
    

    【讨论】:

    • 谢谢。我不得不将OBJECT_ID 更改为DB_ID,然后它就像一个魅力。
    • 所以我不熟悉变更跟踪,并在搜索变更数据捕获 (CDC) 时发现了这个问题。对于碰巧在这里的其他人,CDC 的等效问题/答案是 found here SELECT s.name AS Schema_Name, tb.name AS Table_Name , tb.object_id, tb.type, tb.type_desc, tb.is_tracked_by_cdc FROM sys.tables tb INNER JOIN sys.schemas s on s.schema_id = tb.schema_id WHERE tb.is_tracked_by_cdc = 1
    • 查看当前数据库可以使用SELECT * FROM sys.change_tracking_databases WHERE database_id=DB_ID()(无参数)(
    • 帮助别人,如果你需要启用/禁用这个配置你可以使用:ALTER DATABASE MyDatabaseName SET CHANGE_TRACKING = ON
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 2019-02-09
    • 2017-12-24
    • 1970-01-01
    相关资源
    最近更新 更多