导入记录后更新哪些表

时间:2016-04-07 18:12:28

标签: sql sql-server sql-server-2008

当从前端应用程序运行批处理时,有没有办法找出SQL Server中哪些表更新?

2 个答案:

答案 0 :(得分:0)

在SQL Server Management Studio的“工具”下,您可以启动SQL Server Profiler。连接到您选择的服务器,然后在下一个窗口中,使用事件选择选项卡筛选您要查找的详细信息。点击“运行”,然后通过您的应用启动流程。这将只捕获命中数据库和SQL Server的事件并在窗口中显示它们,而不是Web调用。在您启动过程后按暂停/停止,因为分析器可能在系统上很重。如果TSQL代码硬编码到您的应用程序中,它将显示TSQL代码,或者它将显示存储过程调用。如果您看到存储过程,则可以在SSMS中使用sp_helptext来查找存储过程正在执行的操作以及它命中的表。

答案 1 :(得分:-1)

SELECT OBJECT_NAME(OBJECT_ID) AS DatabaseName, last_user_update,*
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID( 'mydb')
AND OBJECT_ID=OBJECT_ID('myobject');

不幸的是,您必须针对last_user_update执行一些操作来确定批处理是否执行了任何操作。就我所知,没有什么可以为批处理过程获取交易信息,特别是如果存在散布的提交。

男孩,我希望我错了...... LOL