我经常遇到这个问题。我在数据仓库工作,我无法找到填充表格的内容。通常,表每天从仓库中的其他表或Oracle数据库填充。我已经尝试了以下查询,可以确认更新,但我看不出是在做什么。我搜索了具有相似名称和SQL作业的已知SSIS包和存储过程,但我找不到任何内容。
select object_name(object_id) as DatabaseName, last_user_update, *
from sys.dm_db_index_usage_stats
where database_id = DB_ID('Warehouse')
and object_id=object_id('PAYMENTS_DAILY')
我只有最基本的SQL Server工具,所以没有花哨的搜索工具:(
答案 0 :(得分:2)
在将数据插入数据之后,没有办法告诉数据来自何处而没有某种记录。
SSIS具有日志记录,您可以在表上使用触发器,更改数据捕获,审计列等等。有很多方法可以做到这一点。
答案 1 :(得分:0)
通常,如果您知道添加行的时间,那么可以帮助您确定添加行的过程。将新的“InsertedDatetime”列添加到仓库表中,并为其指定默认值getdate()。如果您知道行始终在上午11:15进入,则可以使用它来缩小搜索范围。
这可能是足够的信息,但如果这不能帮助您跟踪该过程,那么您可以添加包含从源IP地址到调用对象名称的所有内容的其他列。
作为最后的手段,您可以重命名您的表并创建一个名为相同的视图,然后在其上使用“替换为插入”触发器,它只保持打开连接,以便您可以检查当前正在执行的进程以确定它的来源从。
我打赌你可以从单独的时间中解决它。