我需要执行 sp_Blitz 存储过程并报告优先级小于 100 的结果。该过程返回行音,但我需要优先级为 100 及以下的结果。我尝试创建临时表并使用 INSERT INTO EXEC 方法将数据插入临时表,然后我可以从临时表中归档所需的数据,但它失败并出现错误。
我按照以下步骤操作。
-- created a temp table
CREATE TABLE #reports(
Priority INT,
FindingsGroup VARCHAR(100),
Finding VARCHAR (255),
DatabaseName SYSNAME,
URL VARCHAR(255),
Details VARCHAR(MAX),
QueryPlan VARCHAR(255),
QueryPlanFiltered VARCHAR(255),
CheckID INT
);
-- tried to insert data
INSERT INTO #reports (Priority, FindingsGroup, Finding, DatabaseName, URL, Details, QueryPlan, QueryPlanFiltered, CheckId)
Exec sp_blitz
--出现以下错误,说明exec语句不能嵌套。我知道 sp_Blitz 内可能有过程调用或 INSERT 语句,但我无法判断,因为我无法访问 sp_Blitz 的元数据。
消息 8164,第 16 级,状态 1,第 5 行 INSERT EXEC 语句不能嵌套。 消息 8164,16 级,状态 1,第 5 行 INSERT EXEC 语句不能嵌套。 消息 8164,16 级,状态 1,第 5 行 INSERT EXEC 语句不能嵌套。 消息 8164,16 级,状态 1,第 5 行 INSERT EXEC 语句不能嵌套。 消息 8164,16 级,状态 1,第 5 行
实现这一目标的最佳方法是什么?
只需使用此参数运行
sp_blitz
:
exec sp_blitz @IgnorePrioritiesAbove = 100