当从前端应用程序运行批处理时,有没有办法找出SQL Server中哪些表更新?
答案 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