从查询返回的值的大小是问题所在。HammerDB 使用 TCL 命令“string is integer”来检查从 SQL Server 返回的值。此命令检查 32 位整数,当您的值超过时,返回错误。要在主目录的图形事务计数器中更正此问题,请编辑 src\mssqlserver\mssqlsotc.tcl 中的文件,找到并将“string is integer”行更改为“string is entier”,它将如下所示:
if { [ string is entier -strict $tc_trans ] } {
类似地在 OLTP/TPC-C 测试的输出中更正此问题
编辑 src\mssqlserver\mssqlsoltp.tcl 中的文件
if { [ string is entier -strict $end_trans ] && [ string is entier -strict $start_trans ] } {
错误在输出中显示为“SQL Server 返回了非数字事务计数数据”。TPM 与 SSMS 活动监视器中的事务计数相同,即“批次/秒”。直接从被测模式查询 NOPM。(TPM 是数据库特定的指标,NOPM 是独立于数据库的)。工作负载似乎运行正常,但 SQL Server 未返回事务计数器数据。首先要检查的是 SQL Server 是否已经用“-X”选项启动。这将禁用所有性能统计信息并会导致这种效果。其次运行以下 SQL:
从 sys.dm_os_performance_counters 中选择 cntr_value,其中 counter_name = 'Batch Requests/sec'
这就是 HammerDB 运行的(您可以在源代码中看到它)——当此查询有效时,HammerDB 应该能够监控和报告事务。
要保存详细信息,需要更多信息。
从查询返回的值的大小是问题所在。HammerDB 使用 TCL 命令“string is integer”来检查从 SQL Server 返回的值。此命令检查 32 位整数,当您的值超过时,返回错误。要在主目录的图形事务计数器中更正此问题,请编辑 src\mssqlserver\mssqlsotc.tcl 中的文件,找到并将“string is integer”行更改为“string is entier”,它将如下所示:
类似地在 OLTP/TPC-C 测试的输出中更正此问题
编辑 src\mssqlserver\mssqlsoltp.tcl 中的文件
这将允许显示更大的值。