From ai-agent-skills
Diagnose performance problems in Microsoft Dynamics AX 2012 (incl. R3) and its SQL Server databases — the AX transaction database, the model store, and the Retail channel database. The bundled script collects a read-only DMV snapshot (top queries, waits, blocking, deadlocks, missing/unused indexes, fragmentation, stale stats, config) as JSON; the agent interprets it through an AX lens — known bloat tables (InventSumLogTTS, batch history, database log, AIF logs), AX-specific SQL configuration (RCSI expected ON, TF4136, MAXDOP guidance), AOT-owned indexes, batch server load, and Retail CDX sync health. Use when the user reports AX/Dynamics AX slowness, slow posting or MRP, a slow Retail channel database, batch jobs piling up, or wants a health check of an AX 2012 SQL Server. Do NOT use for generic (non-AX) SQL Servers — that is sqlserver-perf-triage. Requires PowerShell 7+ and VIEW SERVER STATE.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ai-agent-skills:ax2012-sql-performanceThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Targets **SQL Server instances hosting Dynamics AX 2012 / R3 databases** — the main AX
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.ps1collects 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.-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,waits
Sections: 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.
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).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+.
Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub whobat/ai-agent-skills --plugin ai-agent-skills