How to Use AI to Diagnose and Fix Business Central Performance Issues
Business Central SaaS gives you no direct SQL Server access, so when the system slows down, most teams are stuck staring at a vague "it's slow today" ticket with no way to find out who hit the slowness, which AL or SQL code caused it, or what to actually change. Generic monitoring tools make this worse: they show server-level charts, but they were never built to answer "which Business Central user, and which line of code?"
Performance Insights for Business Central was built to answer exactly that — and now, with its built-in Ask AI for Fix agent, it goes one step further: turning a raw performance incident into a diagnosis and a ready-to-use code fix, in seconds.
1. See Exactly Who and What Is Slowing Down Your System
Every incident that Performance Insights captures — a slow query, a deadlock, a lock timeout, even a slow network connection — is traced down to the named Business Central user involved, the AL code and SQL code executed, and the extension responsible. This is what makes named user-level analysis genuinely useful: you are not looking at an anonymous spike on a graph, you are looking at exactly which user hit which code, with the exact SQL statement attached.
Why this is different from Application Insights or generic APM dashboards: in raw Application Insights telemetry, Business Central users appear only as pseudonymous telemetry IDs, and querying it means writing KQL. Microsoft's Performance Profiler records only a user and time window chosen in advance. Performance Insights shows the real Business Central user name for every incident, across all users, 24/7, with fuzzy filtering by individual or group. It was purpose-built for Business Central to close exactly that gap.
Interactive, not static
Every analysis — Time Series, By User, By SQL Code, By AL Code, By Object, By Date, By Hour — is presented as an interactive chart, graph or sortable table, with global date and user filters. Charts can be downloaded as SVG, PNG or CSV, and tables as Excel, so the same data can go straight into a report for the executive board, the support desk, or the developer fixing the code.
2. Fuzzy Filtering: Zoom in on One User, or a Whole Group, Instantly
Named-user tracing is only half the story — you also need to search across users and user groups quickly. Performance Insights includes a case-insensitive, wildcard fuzzy filter built for exactly this:
- Filter by P0|na to see every POS user, plus any user with "na" in their name, in one pass.
- Exclude with <> — for example <>P0|na shows everyone except those users or groups.
- Filter an entire store or user group at once, e.g. S012, to see every incident tied to that group.
Whichever filter is applied, it carries across to "By AL Code," "By SQL Code" and "By AL Code & SQL Code" too, so you get the exact code behind the slowness for that user or group. One important distinction worth stating plainly: fuzzy filtering can target an individual user or an entire group, but the underlying analysis itself is always performed at the individual-user level — results are never blended or averaged across a group, so nothing gets lost in an aggregate.

3. From Metric to Fix in Seconds: Ask AI for Fix
Finding the offending code used to be where the real work started. Performance Insights' Ask AI for Fix agent is built on SQL Mantra Tools' own 25+ years of hands-on Business Central and Dynamics NAV performance tuning experience — not a generic AI coding assistant — and it's available directly from Slow Query Analysis, Deadlock Analysis and Lock Timeout analysis.
Click the Ask AI for Fix icon next to any incident and it instantly returns:
- Root Cause — a plain-English explanation of exactly why the query, lock or deadlock happened.
- Business Impact — what this is actually costing users in wait time, and which process is affected.
- Recommendations — concrete steps to resolve it, from indexing advice to design-level suggestions.
- A ready-to-use AL code fix — commented, explained, and ready to copy straight to a developer or extension publisher.




Each result is clearly labelled as AI-generated and intended to be independently verified — a fast, expert-informed starting point, not a black box you blindly trust.
4. Bonus: Now with Network Speed Analysis
Performance Insights also reports the network connection speed between the Business Central server and the end user's device, in Mbps — because a "slow Business Central" complaint is sometimes a slow network, not a slow query. Like every other analysis, it breaks down by Time Series, By User and By City, so IT and network teams can pinpoint exactly which site or user is affected and benchmark against the recommended 10 Mbps minimum.
5. Why This Matters
Put together, named user-level tracing, fuzzy filtering across individuals and groups, and Ask AI for Fix turn Business Central performance troubleshooting from a guessing game into a repeatable, evidence-based process — one that produces an actual code fix, not just a chart to stare at.
See Performance Insights on Your Own Business Central Data
Explore the full feature set or get in touch to see it running against your environment.
View Performance Insights for Microsoft Dynamics 365 Business Central (P014)
Frequently asked questions
Is there any AI based automated performance diagnostic and fix for Business Central?
Ask AI for Fix is a built-in agent in Performance Insights for Microsoft Dynamics 365 Business Central, built on SQL Mantra Tools' own 25+ years of hands-on Business Central and Dynamics NAV performance tuning experience rather than a generic AI coding assistant. Available directly from Slow Query Analysis, Deadlock Analysis and Lock Timeout analysis, clicking its icon next to any incident instantly returns a plain-English Root Cause, the Business Impact in terms of user wait time, concrete Recommendations, and a ready-to-use, commented AL code fix that can be copied straight to a developer or extension publisher.
What does Performance Insights show that raw Application Insights telemetry doesn't?
In raw Application Insights telemetry, Business Central users appear only as pseudonymous telemetry IDs, times are in UTC and the data has to be queried with KQL. Performance Insights for Microsoft Dynamics 365 Business Central was purpose-built to close that gap — every slow query, deadlock and lock timeout is traced to the named Business Central user involved, the AL code and SQL code executed, and the extension responsible, with fuzzy filtering to narrow straight down to one user or an entire group.
How does fuzzy filtering work for Business Central users and groups in Performance Insights?
Performance Insights includes a case-insensitive, wildcard fuzzy filter: filtering by a pattern such as 'P0|na' matches every POS user plus any user with 'na' in their name in one pass, the '<>' operator excludes matches (for example '<>P0|na' shows everyone except those users or groups), and filtering by a group such as 'S012' surfaces every incident tied to that store or group. Whichever filter is applied carries across to By AL Code, By SQL Code and By AL Code & SQL Code analysis too. Fuzzy filtering can target an individual user or an entire group, but the underlying analysis itself is always performed at the individual-user level, so results are never blended or averaged across a group.
Can I fuzzy filter Business Central users in Performance Profiler?
Not in the same way. Business Central's Performance Profiler records the session you start and stop yourself, and Profiler Schedules record one chosen user and activity type per schedule, for a time window set in advance. You can filter the resulting list of profiles with standard Business Central filters, but there is no fuzzy filtering across all users and groups that carries through every analysis. SQL Mantra Tools Performance Insights for Microsoft Dynamics 365 Business Central records every user continuously, and its case-insensitive, wildcard fuzzy filter narrows every analysis — slow query, deadlock, lock timeout and network speed — straight down to one named Business Central user or an entire group (for example, 'P0|na' matches every POS user plus any user with 'na' in their name, and 'S012' surfaces every incident for that store), with the underlying analysis always broken down per individual user even when a group filter is applied.