我继续在生产 SQL Server 2014 服务器中运行 sp_BlitzCache,我可以看到显示的过程,报告为:
“我们找不到这个查询的计划。”
我有一种感觉,这是由于 procs 被加密了。
我们是否应该不加密我们的程序以便通过 sp_Blitz 获得更好的信息?
谢谢
我继续在生产 SQL Server 2014 服务器中运行 sp_BlitzCache,我可以看到显示的过程,报告为:
“我们找不到这个查询的计划。”
我有一种感觉,这是由于 procs 被加密了。
我们是否应该不加密我们的程序以便通过 sp_Blitz 获得更好的信息?
谢谢
我正在使用最新版本的 sp_BlitzCache 来捕获一些性能问题和运行缓慢的查询,但似乎 sp 不检查或监视属于可用性组的数据库,其他没有启用永远在线功能的数据库被正确捕获,我正在运行脚本的用户拥有完整的管理员权限,有什么提示或解决方案吗?
我开始了sp_BlitzCache
(这太棒了!)并试图更好地理解结果。从什么时候# Executions
算起?例如,如果它说今天执行了 343 次,自服务器启动以来,还是什么?我这样运行它:
sp_blitzCache @MinutesBack = 1440, @sortOrder = 'query hash'
但是# Executions
似乎不会根据@MinutesBack
参数而改变,所以我猜这是因为某个固定的时间段?
我正在使用 SQL 2019。
我一直在使用 sp_BlitzCache 来解决客户端 SQL Server 2012 实例上的一些性能问题。我在跑步:
EXEC sp_BlitzCache @ExpertMode=1, @SortOrder = 'reads';
虚拟板上高处的程序之一被标记为“表 DML”警告。
我唯一能看到的是创建、使用和删除名为#Fred 的临时表。
除了临时表的名称 ;) ,我还应该关注这个警告吗?根据链接https://www.brentozar.com/blitzcache/table-dml/中的详细信息,这似乎是某种误报。如果不是,临时表的使用有什么问题会引发警告?
顺便说一句,由于表变量警告,#Fred 替换了@Fred。
我需要一点帮助。
我在我的一个 SQL Server 上运行 sp_Blitz,它返回的结果之一是“计划缓存中的单个查询存在 1531 个计划 - 这意味着我们可能有参数化问题。”。
我点击了结果中的链接。
然后我运行 sp_BlitzCache @ExpertMode = 1 来查找具有多个计划的查询,但#Plans 和#Distinct Plans 列都为所有行返回值 1。
如何继续隔离具有多个计划的单个查询?
环境:SQL 2012 SP3 CU8
sp_BlitzCache 版本 5.7
尝试sp_BlitzCache
在 SQL Server 2008 上安装时,我得到:
Msg 102, Level 15, State 1, Procedure sp_BlitzCache, Line 2705 Incorrect syntax near '.'.
Msg 102, Level 15, State 1, Procedure sp_BlitzCache, Line 2715 Incorrect syntax near '.'.
Msg 102, Level 15, State 1, Procedure sp_BlitzCache, Line 2865 Incorrect syntax near '.'.
第 2705 行是:
/* END Testing using XML nodes to speed up processing */
第 2865 行是以下FROM
行:
/* Set configuration values */
SELECT @ctp = NULLIF(CAST(value AS INT), 0)
FROM sys.configurations
WHERE name = 'cost threshold for parallelism'
OPTION (RECOMPILE);
好像是5.5版本
SQL Server 版本为 10.0.6000.29。
当我翻阅代码时,我看到的第一个突出显示的错误是源文件中的 #1162:(之后还有 4 个错误。)
SELECT CAST('' AS XML).value('xs:hexBinary( substring(sql:variable("@individual"), sql:column("t.pos")) )', 'varbinary(max)')
"Cannot call methods on int."
下一个错误出现在源代码的第 2032 行 - 一个带有
q.n.query('.') AS statement
Can't find q as a column, function, or q.n.query is ambiguous.
之后有更多的级联错误。
我已经在我的生产服务器上下载并安装了 sp_BlitzCache,但它给了我以下错误:
消息 208,级别 16,状态 0,过程 sp_BlitzCache,第 1850 行 [批处理起始行 0] 对象名称“##bou_BlitzCacheProcs”无效。
生产服务器运行的是 SQL Server 2008 R2,我使用的是 MS SSMS 2016。
我已经从 First Responder Kit 安装了 sp_BlitzCache(和其他),但我收到以下错误:
EXEC sp_BlitzCache;
消息 208,级别 16,状态 0,过程 sp_BlitzCache,第 3878 行 [批处理起始行 0]
对象名称“#trace_flags”无效。
所有其他脚本似乎都按预期工作,但我不确定我是否遇到了缺陷,或者它是否与我的使用和/或配置有关。
同样值得注意的是,该过程确实返回了 10 个结果,但随后因上述错误而失败。
我已经在网上和通过存储过程本身进行了一些搜索。虽然我对#trace_flags临时表似乎不像其他表那样创建感到困惑,但我在 GitHub 上找不到似乎表明它曾经有过的代码。所以我认为它一直在为其他人工作,所以它导致我相信我假设错误的事情和/或错误地运行它。
先感谢您!既感谢您的帮助,也感谢您参与开发 First Responder Kit 的任何人。