NAV 2009 Troubleshooting
This is the entry-point and router for NAV 2009 / Navision operational incidents. It is
knowledge-only; detailed symptom/cause/fix tables live in REFERENCE.md — consult it
before giving a diagnosis or asking the user to take action.
For writing or reviewing C/AL code, use nav2009-development. For SQL-side locking evidence, use
nav2009-sql-performance. For index rebuilds, backups, and CHECKDB, use nav2009-db-maintenance.
First triage questions
Ask these before diving into any specific symptom — the answers determine which branch to follow:
- Which client? Classic (2-tier, direct SQL) or RoleTailored Client / RTC (3-tier, via Service Tier)?
- Which build / version? NAV 2009 SP1 or R2? (R2 adds .NET interop in the service tier.)
- One user or all users? Single-user = auth/permission/workstation. All users = service, network, or DB.
- When did it start / after what change? Deploy, config edit, SQL maintenance, patch, password change?
- Exact error text and/or error number? (SQL error numbers, NAV error dialogs, Windows Event Log source and ID.)
Symptom → first move
| Symptom |
Most likely cause |
First action / skill |
| RTC client won't connect |
Service Tier stopped; wrong port/server; firewall; Kerberos double-hop |
Test-NetConnection <NST> -Port 7046; → nav2009-service-tier-admin |
| Service Tier won't start |
Bad CustomSettings.config; service account/SQL login; port conflict; SPN failure |
Check Windows Event Log → win-eventlog-triage; → nav2009-service-tier-admin |
| "You do not have permission to..." |
NAV role/permission missing or not synchronized with SQL login |
→ nav2009-permissions-security |
| "Your program license has expired / does not permit..." |
License file (.flf) missing, expired, or wrong granules |
→ nav2009-permissions-security (license vs permissions distinction) |
| "The following SQL Server error occurred..." |
Connection failure, login, or deadlock (error 1205) |
Read the SQL error number; deadlock → nav2009-sql-performance |
| "Another user has modified the record" |
Optimistic-concurrency conflict / long transaction |
→ nav2009-sql-performance for blocking picture; → nav2009-development for C/AL lock order |
| Slowness / hangs / deadlocks during posting |
Missing SETCURRENTKEY; SIFT contention; fragmentation; blocking |
→ nav2009-sql-performance (evidence), then nav2009-development (C/AL cause), then nav2009-db-maintenance (rebuild/stats) |
| Posting errors (No. Series, dimension, "nothing to post") |
Interrupted posting advanced No. Series; dimension setup; stray COMMIT |
→ nav2009-development (posting chain logic) |
| NAS / Job Queue not processing |
NAS service stopped; startup codeunit/argument wrong; entries on hold |
→ nav2009-service-tier-admin |
| ".NET/COM call failed" |
Not running R2 service tier; assembly missing server-side |
Confirm R2 build; → nav2009-development |
| Reports fail / RDLC errors |
Wrong runtime (Classic sections vs RDLC); missing client report viewer |
→ nav2009-development |
| Objects won't import, compile, or schema-sync fails |
Object conflicts; compile order; schema-sync mismatch |
→ nav2009-object-management |
| Crash / unexpected close |
OS/driver issue, NAV build bug, or memory |
→ win-eventlog-triage (capture Application log + dump info) |
Routing map
- nav2009-service-tier-admin — NST inventory, start/stop/restart, CustomSettings.config parsing, NAS/Job Queue service config.
- nav2009-sql-performance — read-only SQL DMV triage: locking, blocking, deadlocks, slow queries, index fragmentation evidence.
- nav2009-db-maintenance — SQL backups, CHECKDB integrity checks, index rebuilds, update statistics (action side).
- nav2009-permissions-security — NAV Roles/permissions, SQL logins, license files, NAV↔SQL security sync.
- nav2009-development — C/AL coding patterns, key/SIFT design, posting chain logic, reports, integrations, code review.
- nav2009-object-management — import/export/compile objects via finsql.exe, schema sync, version management.
- win-eventlog-triage — pull Critical/Error Windows Event Log entries across servers; essential for service-tier crashes and startup failures.
1---2name: nav2009-troubleshooting3description: NAV 2009 Troubleshooting4---56# NAV 2009 Troubleshooting78This is the **entry-point and router** for NAV 2009 / Navision operational incidents. It is9knowledge-only; detailed symptom/cause/fix tables live in [REFERENCE.md](REFERENCE.md) — consult it10before giving a diagnosis or asking the user to take action.1112For writing or reviewing C/AL code, use **nav2009-development**. For SQL-side locking evidence, use13**nav2009-sql-performance**. For index rebuilds, backups, and CHECKDB, use **nav2009-db-maintenance**.1415## First triage questions1617Ask these before diving into any specific symptom — the answers determine which branch to follow:18191. **Which client?** Classic (2-tier, direct SQL) or RoleTailored Client / RTC (3-tier, via Service Tier)?202. **Which build / version?** NAV 2009 SP1 or R2? (R2 adds .NET interop in the service tier.)213. **One user or all users?** Single-user = auth/permission/workstation. All users = service, network, or DB.224. **When did it start / after what change?** Deploy, config edit, SQL maintenance, patch, password change?235. **Exact error text and/or error number?** (SQL error numbers, NAV error dialogs, Windows Event Log source and ID.)2425## Symptom → first move2627| Symptom | Most likely cause | First action / skill |28|---------|-------------------|----------------------|29| RTC client won't connect | Service Tier stopped; wrong port/server; firewall; Kerberos double-hop | `Test-NetConnection <NST> -Port 7046`; → **nav2009-service-tier-admin** |30| Service Tier won't start | Bad CustomSettings.config; service account/SQL login; port conflict; SPN failure | Check Windows Event Log → **win-eventlog-triage**; → **nav2009-service-tier-admin** |31| "You do not have permission to..." | NAV role/permission missing or not synchronized with SQL login | → **nav2009-permissions-security** |32| "Your program license has expired / does not permit..." | License file (.flf) missing, expired, or wrong granules | → **nav2009-permissions-security** (license vs permissions distinction) |33| "The following SQL Server error occurred..." | Connection failure, login, or deadlock (error 1205) | Read the SQL error number; deadlock → **nav2009-sql-performance** |34| "Another user has modified the record" | Optimistic-concurrency conflict / long transaction | → **nav2009-sql-performance** for blocking picture; → **nav2009-development** for C/AL lock order |35| Slowness / hangs / deadlocks during posting | Missing SETCURRENTKEY; SIFT contention; fragmentation; blocking | → **nav2009-sql-performance** (evidence), then **nav2009-development** (C/AL cause), then **nav2009-db-maintenance** (rebuild/stats) |36| Posting errors (No. Series, dimension, "nothing to post") | Interrupted posting advanced No. Series; dimension setup; stray COMMIT | → **nav2009-development** (posting chain logic) |37| NAS / Job Queue not processing | NAS service stopped; startup codeunit/argument wrong; entries on hold | → **nav2009-service-tier-admin** |38| ".NET/COM call failed" | Not running R2 service tier; assembly missing server-side | Confirm R2 build; → **nav2009-development** |39| Reports fail / RDLC errors | Wrong runtime (Classic sections vs RDLC); missing client report viewer | → **nav2009-development** |40| Objects won't import, compile, or schema-sync fails | Object conflicts; compile order; schema-sync mismatch | → **nav2009-object-management** |41| Crash / unexpected close | OS/driver issue, NAV build bug, or memory | → **win-eventlog-triage** (capture Application log + dump info) |4243## Routing map4445- **nav2009-service-tier-admin** — NST inventory, start/stop/restart, CustomSettings.config parsing, NAS/Job Queue service config.46- **nav2009-sql-performance** — read-only SQL DMV triage: locking, blocking, deadlocks, slow queries, index fragmentation evidence.47- **nav2009-db-maintenance** — SQL backups, CHECKDB integrity checks, index rebuilds, update statistics (action side).48- **nav2009-permissions-security** — NAV Roles/permissions, SQL logins, license files, NAV↔SQL security sync.49- **nav2009-development** — C/AL coding patterns, key/SIFT design, posting chain logic, reports, integrations, code review.50- **nav2009-object-management** — import/export/compile objects via finsql.exe, schema sync, version management.51- **win-eventlog-triage** — pull Critical/Error Windows Event Log entries across servers; essential for service-tier crashes and startup failures.