← ClaudeAtlas

nav2009-sql-performancelisted

Diagnose performance problems in Microsoft Dynamics NAV 2009 (Navision) and its SQL Server database. The bundled script collects a read-only DMV snapshot (top queries, waits, blocking, deadlocks, missing/unused indexes, SIFT views, fragmentation, stale stats, config) as JSON; the agent interprets it through a NAV lens — mapping SQL findings back to C/AL anti-patterns, keys, and SIFT design. Use when the user reports NAV/Navision slowness, locking/deadlocks during posting, a slow report/batch job, or wants a SQL Server health check for a NAV 2009 database. Do NOT use to execute maintenance (backup, index rebuild, statistics) — that is nav2009-db-maintenance; this skill is read-only diagnosis. Requires PowerShell 7+ and SQL Server VIEW SERVER STATE permission.
whobat/AI-Agent-skills · ★ 0 · API & Backend · score 76
Install: claude install-skill whobat/AI-Agent-skills
# NAV 2009 SQL Performance Triage > Targets **SQL Server instances hosting Dynamics NAV 2009 databases**. The bundled script > `scripts/Invoke-SqlPerfTriage.ps1` collects a **read-only** diagnostic snapshot and emits > JSON; **the agent (you) writes the analysis.** The script never modifies server or database > state and never calls an LLM. `SCRIPT` = this skill's `scripts/Invoke-SqlPerfTriage.ps1`. Requires **PowerShell 7+** (`pwsh`) and network access to the SQL Server. The full SQL-finding → NAV-action interpretation guide is in [REFERENCE.md](REFERENCE.md) — read it before writing your analysis. ## Permissions & auth - Default is **Windows integrated auth** (the user running `pwsh`). Pass `-SqlCredential` for SQL auth — it is a `PSCredential`, so let PowerShell prompt (`-SqlCredential (Get-Credential)`); never put a password on the command line. - Needs **VIEW SERVER STATE** on the instance and **VIEW DATABASE STATE** (or `db_owner`) in the NAV database. The trace-flag sub-check may need sysadmin and degrades gracefully if denied. - Connections are unencrypted by default (NAV 2009-era instances rarely have TLS certs); add `-Encrypt` if the instance supports it. ## How to run Always run with `pwsh`. Parse the JSON it prints on stdout. | Want | Pass | |------|------| | **Full snapshot of a NAV DB** | `-ServerInstance SQLSRV01 -Database 'NAV_PROD'` | | **Named instance** | `-ServerInstance 'SQLSRV01\NAV'` | | **Server-level only (no DB)** | omit `-Database` (D