参考:
sys.syscacheobjects (Transact-SQL)
USE [AdventureWorks2014]
GO
DBCC FREESYSTEMCACHE('ALL')
GO
DECLARE @top INT
SET @top=3
EXEC sp_executesql N'SELECT TOP (@top) * FROM Person.Person AS p',N'@top int',@top
SET @top=5
EXEC sp_executesql N'SELECT TOP (@top) * FROM Person.Person AS p',N'@top int',@top
SELECT cacheobjtype,objtype,[sql] FROM sys.syscacheobjects AS s WHERE s.sql LIKE '%top%' AND s.sql LIKE '%Person%'