Wait-Statistics Performance Triage
The workload's top waits, the queries behind them from Query Store, and a tested change for each. The deliverable is a ranked list with a baseline and a way to show each change worked.
SQL Server Consulting
Last reviewed by Tyler Eastridge
AceMQ delivers SQL Server consulting with partner SQL Server specialists: performance tuning that starts from wait statistics and Query Store, Always On availability group design, upgrades off SQL Server 2016 and 2017, migration readiness, and a written decision on Azure SQL. Each engagement ends in a document your own DBAs can act on without us. SQL Server 2016 extended support ended on 14 July 2026 and 2017 follows on 12 October 2027.
Is This You?
We run SQL Server 2016 or 2017 and nobody has decided what comes next
A report or nightly job that took minutes now takes hours, and the fix so far has been a bigger server
Our availability group has failed over twice this year and nobody can say why
A Standard Edition instance needs more than a basic availability group allows
Azure SQL, or a move off SQL Server, has been suggested and the options sit in separate decks
A change board wants an outside opinion before it approves the work
Scope
The workload's top waits, the queries behind them from Query Store, and a tested change for each. The deliverable is a ranked list with a baseline and a way to show each change worked.
Replica modes, quorum, listener and failover behaviour checked against your high availability and disaster recovery objectives, and a rehearsal plan. Includes whether Standard Edition's basic availability groups are enough.
A route off SQL Server 2016 or 2017: in-place or side-by-side, the target version, compatibility level testing with Query Store, rollback steps and the cutover window.
An inventory of what the application leans on, such as linked servers, CLR, Service Broker, Agent jobs and distributed transactions, so a move to Azure or PostgreSQL is sized before it is promised.
SQL Server on an Azure VM, Azure SQL Managed Instance or Azure SQL Database, chosen from a scan of the features your instance actually uses, with the exit route written down.
The fixed-scope review that finds the first problem: backups and restores, CHECKDB history, patch level, configuration and availability group state, in a report ranked by production risk.
The Engagement
Every phase has a defined duration and a concrete artifact handed over at the end of it. You always know what stage you're in and what you've received.
A short call to agree the question, then read-only diagnostics collected by your DBA or over screen-share: wait statistics, Query Store data, configuration, backup history and availability group state. Nothing changes in this step.
You receive
Written findings, ranked by production risk, walked through in a working session with your DBAs. Each finding names its evidence, the change we recommend and what could go wrong with it.
You receive
Your team takes the plan and runs it, or AceMQ works alongside your DBAs on the changes and the cutover window. Optional 24/7 support or managed operations can follow.
You receive
Most slow-SQL-Server work goes wrong because it starts at the symptom a person can see, such as a missing index or a small server. The order below starts at what the engine reports and ends at hardware.
Rule we hold
Record a baseline, change one thing at a time and measure again. A fix we cannot show worked is not a finding.
Microsoft's documentation describes basic availability groups as the Standard Edition version of Always On, and lists their limits. Each limit changes a design decision, which is why edition is the first question in an availability group review.
| Limit | What it does to the design | What we check or do about it |
|---|---|---|
| Two replicas only | No third copy for a second site or for reporting | Whether a second site is needed, and whether another mechanism such as log shipping covers it |
| One availability database per group | An application with several databases needs several groups that fail over separately | Whether the application tolerates databases failing over at different moments |
| No read access on the secondary | Reporting has to run on the primary or on a restored copy | Where reports run today and what they cost the primary |
| No backups or integrity checks on the secondary | Backups and CHECKDB land on the primary | Backup and CHECKDB windows against the workload, and restore tests on a scratch copy |
| Cannot be upgraded to an advanced availability group | Moving to Enterprise Edition means dropping the group and building a new one | Whether the growth plan makes that move likely, before the design is fixed |
Enterprise Edition availability groups are the fuller feature set, and an edition change is a licensing decision that belongs to you and your reseller. We design for the edition you hold, and tell you plainly when the requirement needs a different one.
The dates set the urgency and Microsoft's upgrade documentation sets the routes. SQL Server 2025's documentation lists in-place upgrade from SQL Server 2014 SP3 or later, 2016 SP3 or later, 2017, 2019 and 2022, so most estates have a direct path.
| Version | Extended support ends | In-place upgrade to SQL Server 2025 |
|---|---|---|
| SQL Server 2016 | 14 July 2026 (ended) | Yes, from Service Pack 3 or later |
| SQL Server 2017 | 12 October 2027 | Yes |
| SQL Server 2019 | 8 January 2030 | Yes |
| SQL Server 2022 | 11 January 2033 | Yes |
In-place and side-by-side are different risks, not different speeds. An in-place upgrade reuses the server and has the shortest path, but its rollback is a restore. A side-by-side move to a new instance keeps the old one untouched until the new version has run a full business cycle, and shortens the outage to the cutover itself, at the cost of carrying logins, jobs and certificates across. Microsoft's documentation supports restoring a backup from SQL Server 2008 or later to SQL Server 2025 with the compatibility level unchanged, provided it is 100 or higher, so we can keep the old level for the first cycle and raise it later with Query Store evidence.
Log shipping can carry a side-by-side cutover, with one trap Microsoft documents: once a failover makes the SQL Server 2025 instance primary, the older secondary can no longer receive its changes, so the cutover is one-way. For SQL Server 2016, Microsoft also sells Extended Security Updates, which buy time but are not an upgrade; their price and terms come from Microsoft.
Three Azure options carry the name SQL Server, and they are not interchangeable. Microsoft publishes the feature gaps, and an instance that uses a gap feature has already made the decision for you.
| Feature | SQL Server on an Azure VM | Azure SQL Managed Instance | Azure SQL Database |
|---|---|---|---|
| SQL Server Agent | Yes: it is SQL Server | Yes, with differences | No: elastic jobs instead |
| Cross-database queries | Yes | Yes, within the instance | No: elastic queries instead |
| Linked servers | Yes | Yes, only to SQL Server and SQL Database, without distributed transactions | No |
| CLR | Yes | Yes, without file system access in CREATE ASSEMBLY | No |
| Service Broker | Yes | Yes, with differences | No |
| Operating system access | Yes | No | No |
Managed Instance is the nearest to a drop-in for an instance full of Agent jobs and cross-database queries, and Azure SQL Database is the destination for applications built around single databases. A VM keeps everything, including the operations work. The decision paper maps your instance's features against this table and names the version, backup and exit consequences of each option.
A migration readiness assessment is a sizing document, not a migration. It lists what the application depends on so the cost of moving can be estimated database by database, and so the ones that should stay are named.
For a move to PostgreSQL the same inventory feeds a conversion estimate. That work, and the destination database, are set out on the migration pages, and AceMQ supports both engines under one contract.
Typical engagements
Typical engagement scenarios: what the work covers and what it delivers. They describe the service, not past results.
Global Automotive Manufacturer
Replacing fragile SQL-trigger-based ingestion with a reliable event-driven architecture for plant-floor data movement and low-latency operations.
SaaS Platform Team
A typical engagement for a team on SQL Server 2016 whose applications are written in T-SQL: assess Babelfish compatibility, choose between a bridge and full conversion, and plan the cutover.
Utility Holding Company
Reconstructing lineage and documentation for an undocumented estate of legacy Kettle transformations before anyone attempts to change or replace them.
Logistics and Distribution Company
Ongoing support for a Pentaho Data Integration estate that must keep running reliably while a longer-term replacement is planned.
Online Travel Platform
Ongoing support for a MySQL change data capture pipeline that needed a full re-snapshot after a planned outage outlasted binlog retention and a trimmed schema history topic.
Regional Logistics Operator
A typical engagement: reviewing an Always On availability group that spans two sites, so the first real failover is not the first test of its replica modes, quorum and lag tracking.
Manufacturing Group
A typical engagement: inventory a mixed SQL Server 2016 estate after extended support ended, then decide per instance between upgrading, Extended Security Updates and Azure SQL Managed Instance.
SaaS Platform Team
A typical engagement: AceMQ takes over operations of a SaaS platform's SQL Server estate in the customer's own AWS account, with the data and the licences staying with the customer.
FAQ
A SQL Server consultant answers a specific question about an instance, such as why it is slow, how to upgrade it or where it should live, and leaves a written plan. It is worth hiring one before an upgrade, after a performance regression or ahead of a platform decision. AceMQ includes performance triage from wait statistics and Query Store, Always On availability group design and review, upgrade planning off SQL Server 2016 and 2017, migration readiness for Azure or PostgreSQL, an Azure SQL decision paper and a fixed-scope health check. It is delivered by AceMQ engineers with partner SQL Server specialists, and every engagement ends in a written plan. It covers the database engine, not BI tooling such as SSIS, SSRS or SSAS.
Most estates can upgrade in place: Microsoft lists SQL Server 2016 SP3 or later and SQL Server 2017 as supported sources for an in-place upgrade to SQL Server 2025. In-place is shortest and rolls back by restore; side-by-side keeps the old instance until the new one has run a full cycle. SQL Server 2016 extended support ended on 14 July 2026 and 2017 ends on 12 October 2027. We plan the route, test the compatibility level with Query Store open and agree the cutover window with you.
It depends on what your instance uses. Microsoft's feature comparison shows that Azure SQL Database has no SQL Server Agent, cross-database queries, linked servers, CLR or Service Broker, while Managed Instance supports them with differences and a VM supports them all. The decision paper scans your instance for those features and sets out the version, backup and exit consequences of each option.
Often in part. Wait-statistics and Query Store review can fix statistics, indexes, configuration and plan regressions, which sits entirely on the database side. Some slow queries are slow because of how the application calls them, and the finding then names the statement and the change for your developers to make.
Yes: virtual machines, bare metal, your own AWS or Azure account, Windows Server and Linux, standalone, clustered or in availability groups. For Azure SQL Managed Instance and Amazon RDS for SQL Server the provider runs the platform, so our consulting covers the workload and design questions, not the operating system or the engine.
Let's talk
Tell us your SQL Server versions and editions, whether you use availability groups, and what you want to decide or fix. We reply within 1 hour and follow with a written scope.
Send us a message and we'll follow up within 1 hour — or book a free 30-min consultation directly.
305-204-2607info@acemq.comPrefer to talk now? Call us directly or use the consultation tab to find a time that works.