我有一个代理作业运行sp_AskBrent
了一段时间,使用以下参数运行:
EXEC sp_AskBrent @Expertmode=1
,@OutputDatabaseName = 'DBName'
, @OutputSchemaName = 'dbo'
, @OutputTableName = 'AskBrentResults'
,@seconds = 30
, @OutputTableNameFileStats='AskBrentResultsFileStats'
,@OutputTableNamePerfmonStats='AskBrentResultsPerfmonStats'
, @OutputTableNameWaitStats='AskBrentResultsWaitStats'
今天我想更新到新改名的程序sp_BlitzFirst
。创建新过程后,我更改了代理作业中的代码以sp_BlitzFirst
使用相同的参数运行。
一切似乎都很顺利,直到将值输出到表中,然后似乎出现了某种转换错误。
整个历史输出如下:
设置配置变量 [SQLSTATE 01000](消息 50000)
现在开始诊断分析 [SQLSTATE 01000](消息 50000)
捕获等待统计、性能计数器、文件统计的第一遍 [SQLSTATE 01000](消息 50000)
开始调查查询 [SQLSTATE 01000 ](消息 50000)
完成运行调查查询 [SQLSTATE 01000](消息 50000)
等待匹配 @Seconds 参数 [SQLSTATE 01000](消息 50000)
捕获等待统计、性能计数器、文件统计的第二次传递 [SQLSTATE 01000](消息 50000 )
Analysing changes between first and second passes of DMVs [SQLSTATE 01000] (Message 50000)
分析完成,输出结果 [SQLSTATE 01000] (Message 50000)
从字符串转换日期和/或时间时转换失败。[SQLSTATE 22007](错误 241)。该步骤失败。
有人对可能导致这种情况的原因有任何建议吗?自调用该过程以来,输出表是否以某种方式发生了变化sp_Askbrent
?的版本sp_Askbrent
是这样报告的:sp_AskBrent (TM) v20 as of Jan 1 2016 12:00AM。
当我们将其重命名为 sp_BlitzFirst 并开源时,我们进行了多项重大更改,其中之一是将历史表的 DATETIME 字段更改为 DATETIMEOFFSET:
https://github.com/BrentOzarULTD/SQL-Server-First-Responder-Kit/issues/288
我会使用一个新的历史表名称,然后它会自动创建正确的数据类型。