ax2012-sql-performance — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ax2012-sql-performance (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Targets SQL Server instances hosting Dynamics AX 2012 / R3 databases — the main AX transaction DB, and the Retail channel database behind POS. The bundled script scripts/Invoke-SqlPerfTriage.ps1 collects a read-only diagnostic snapshot and emits JSON; the agent (you) writes the analysis using the AX interpretation guide in REFERENCE.md — read it before writing your analysis.SCRIPT = this skill's scripts/Invoke-SqlPerfTriage.ps1 (vendored identically in sqlserver-perf-triage and nav2009-sql-performance).
-SqlCredential (Get-Credential) for SQL auth.db_owner) in the AX/channel DB.-Encrypt if the instance has a valid certificate.auth from a workgroup box to a domain SQL instance fails, and a -SqlCredential/Get-Credential prompt can't render non-interactively. Either run the collector on the SQL host over a visible remoting window — Start-Process pwsh -ArgumentList '-NoExit','-Command',"Invoke-Command -ComputerName SQL01.contoso.local -Credential (Get-Credential) -Authentication Negotiate -FilePath '<SCRIPT>' -ArgumentList ..." — connecting to localhost inside the session, or pass -SqlCredential for SQL auth. Use the FQDN so it matches a *.domain WinRM TrustedHosts entry.
Always run with pwsh. Parse the JSON it prints on stdout.
# Full triage of the AX transaction database
pwsh -File SCRIPT -ServerInstance SQLSRV01 -Database 'MicrosoftDynamicsAX' -OutFile C:\ops\ax-triage.json
# The Retail channel database
pwsh -File SCRIPT -ServerInstance SQLSRV02 -Database 'RetailChannelDB' -OutFile C:\ops\channel-triage.json
# "AX is frozen right now" — live locking picture only
pwsh -File SCRIPT -ServerInstance SQLSRV01 -Database 'MicrosoftDynamicsAX' -Sections blocking,deadlocks,waitsSections: server, database, waits, top_queries, missing_indexes, unused_indexes, blocking, deadlocks, sift (NAV-only; reports 0 on AX — ignore), fragmentation, stats, largest_tables (default all). Same parameters and output contract as the sibling skills: -OutFile for big snapshots, -QueryTimeout 300 for the fragmentation scan on a large AX DB, -TopN, -Sections.
parse the JSON.
Headlines:
largest_tables dominated by **InventSumLogTTS, SysDatabaseLog, BatchJobHistory,AifMessageLog, EventInbox** = missing AX cleanup routines, not a SQL problem. Each has a standard in-AX cleanup (REFERENCE lists them).
database synchronization. Route index changes through the AOT; raw SQL indexes only as documented stopgaps.
workloads — note its presence/absence.
transactions — check sync job health on the AX (HQ) side, not just SQL.
next action (which AX cleanup/configuration, which AOT change, which batch reschedule).
error/skipped sections; state the counter window(server.system.sqlserver_start_time) before trusting cumulative stats.
Same as the sibling skills: Cannot connect → instance name/SQL Browser/firewall/auth; permission-denied sections → request VIEW SERVER STATE; deadlocks needs SQL 2008+.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.