我有一组存储在一个数据库中的存储过程,并且所有存储过程都将另一个数据库中的表引用到快照数据中。它们的结构大致相同(实际查询更复杂,但这反映了数据库的使用情况):
USE [Database_A]
GO
INSERT [Database_A].[dbo].[MyTable]
SELECT *
FROM [Database_B].[dbo].[YourTable]
将列过滤器应用于SQL Server概要分析器时,为了查看这些查询正在执行的所有操作,我应该在Database_A或Database_B上进行过滤还是同时过滤?
它表示“运行用户语句的数据库的名称”,但是每个查询样式的部分是否都在运行?
答案 0 :(得分:2)
即使引用的对象位于其他数据库中,语句也会在单个数据库的上下文中运行。对于诸如SQL:BatchCompleted和SQL:StmtCompleted之类的事件,数据库名称将为Database_A。但是,SP:StmtCompleted等更细粒度的事件将显示包含该语句的存储过程的数据库名称。