跟踪特定列上的SQL Server更改

时间:2017-06-01 16:21:06

标签: sql-server

尝试找出哪些存储过程正在更改列中的值。我有一个专栏在一整天都来回翻转,我想确定哪个程序正在进行。

任何直截了当的方法吗? (我调查了CDC,但似乎没有办法跟踪进行更改的程序)

3 个答案:

答案 0 :(得分:0)

最好我能想到的是触发器并以这种方式捕获违规程序。

答案 1 :(得分:0)

直截了当",你真的很简单吗?使用SSMS在单个文件中生成所有存储过程的脚本。然后使用您认为有用的任何编辑器查找该列名称。

答案 2 :(得分:0)

感谢您的回答。我选择了下面的解决方案。

SELECT 
    qStats.last_execution_time AS [ExecutedAt],
    qTxt.[text] AS [Query], qTxt.number, qTxt.[dbid]
FROM
    sys.dm_exec_query_stats AS qStats
CROSS APPLY
    sys.dm_exec_sql_text(qStats.sql_handle) AS qTxt