sqlinsight-pro/tests/SQLInsight.Collectors.Tests
Søren Eggert Lundsteen Olsen 25b8e95611 SQL Server 2005: fix agent jobs and plan analysis, guard against 2008+ syntax
Seen on a customer's SQL Server 2005 SP4 (legacy ODBC):
- agent-jobs declared @since with an initial value (2008+): "Incorrect syntax
  near CONVERT" and SQLI-JOB-001/002 never ran. Now DECLARE; SET.
- plan-analysis used query_hash (2008+) and failed every 30 minutes for
  SQLI-PLAN-001/002/003. On 2005 a statement is now identified by
  sql_handle + offsets, as top SQL does. It needs sys.dm_exec_text_query_plan,
  so the new capability TextQueryPlan (2005 SP2, 9.0.3042) is required.
- COM-DB-001 used OBJECT_SCHEMA_NAME (2005 SP2+); now joins sys.objects and
  sys.schemas.

Audit of all collector SQL and community rules without minimumVersion 10.0:
the rest is 2005 syntax or behind a version/capability check.

Sql2005CompatibilityTests (2005 cannot run in CI): every collector that can
run on 2005 is scanned for 2008+ syntax in its SQL (inline DECLARE, +=,
MERGE, CONCAT/IIF/FORMAT/TRY_*, OFFSET/FETCH, date/time types, multi-row
VALUES), version-branched files listed explicitly; the same for community
rules; and the 2005 variants of plan analysis and top SQL must not use
query_hash. Verified to fail on the old agent-jobs SQL.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 15:51:39 +02:00
..
DeadlockParserTests.cs Fase 1: collectors and rule pack (41 rules) 2026-09-29 06:17:08 +00:00
ShowplanAnalyzerTests.cs Fase 2: plan cache analysis 2026-09-29 07:40:09 +00:00
Sql2005CompatibilityTests.cs SQL Server 2005: fix agent jobs and plan analysis, guard against 2008+ syntax 2026-10-01 15:51:39 +02:00
SQLInsight.Collectors.Tests.csproj Fase 1: collectors and rule pack (41 rules) 2026-09-29 06:17:08 +00:00
SqlSelectionTests.cs Fase 2: Always On availability groups and SQL Agent jobs 2026-09-29 07:53:49 +00:00