我正在尝试从以下SQL查询输出中返回记录数:
SELECT状态,总计运行时间,来自sys.dm_exec_requests的文本 交叉应用sys.dm_exec_sql_text(sql_handle)WHERE status ='running' AND文字,例如'%Insert%'AND total_elapsed_time>'1'
当我在SSMS中手动运行SQL查询时,有时我拥有并输出,有时却没有。
这是我脚本中的IF条件:
If Not (objRS.BOF AND objRS.EOF) then objRS.MoveFirst
Do Until objRS.EOF
if objRS.RecordCount > 0 then
'#objAPI.LogScriptEvent
Call oBag.AddValue("State","BAD")
Call oBag.AddValue("TotalElapsedTime",CustomValue1)
Call objAPI.Return(oBag)
else
'#objAPI.LogScriptEvent
Call oBag.AddValue("State","GOOD")
Call oBag.AddValue("TotalElapsedTime",CustomValue1)
Call objAPI.Return(oBag)
end if
objRS.MoveNext
Loop
objRS.Close
出于某种原因,我从我的vbscript中得到了相反的值:
当有输出(RecordCount> 0)时,我得到的是'GOOD'值,而不是'BAD'值。
当没有输出时, 有时我从脚本中获取空白输出,有时我获取无输出时显示以下错误消息:
C:\ Users \ TEMP.RESOURCE.004 \ Desktop \ SMSHafatzaLongRun.vbs(35,1) ADODB.Field:将其BOF或EOF设置为True,或者当前记录具有 已被删除。请求的操作需要当前记录。