Rows of servers in a darkened data center corridor
Microsoft Practice

Enable SQL Server Audit. Then actually read it.

The audit objects take an hour to configure. The control is the weekly review, and the payoff doubles as licensing evidence.

Contact Us Microsoft Practice
500+Enterprise clients
$2B+Under advisory
Industry Recognized
500+ Enterprise Clients
$2B+ Under Advisory
11 Vendor Practices
100% Buyer Side Independent

How to configure SQL Server Audit properly, run a weekly review that catches what matters, and turn the same log into licensing defense evidence.

Key takeaways

  • SQL Server Audit works in every edition since 2016 Service Pack 1; Standard estates have no excuse.
  • Fewer than 1 in 4 estates with audits enabled actually reviewed the output in our 2024 to 2025 file.
  • File targets with deliberate failure behavior and audit change capture stop silent tampering.
  • Scope database specifications to sensitive objects; broad data access auditing taxes busy OLTP.
  • The weekly review hunts privilege drift, schema drift, and tampering signals.
  • Twelve months of retained audit history doubles as Microsoft true up defense evidence.

What does SQL Server Audit actually capture?

SQL Server Audit is the engine native framework that records server and database events to a binary log file, the Windows Security log, or the Application log. The official feature documentation defines its three objects: the server audit, the server audit specification, and the database audit specification.

It captures what you tell it to capture through action groups: logins, permission changes, schema modification, data access, backup and restore events. Since SQL Server 2016 Service Pack 1 the full feature works in every edition, so Standard edition estates have no excuse left.

The three objects, in order

  1. Server audit: the destination definition, where events land and what happens on failure.
  2. Server audit specification: instance level action groups, one active specification per server audit.
  3. Database audit specification: per database action groups, scoped down to objects and principals.

What it costs at runtime

File targeted audits with sensible action groups run at low single digit percent overhead in our testing experience. The expensive mistake is auditing broad data access patterns on busy OLTP databases; scope to the sensitive objects instead.

How do you enable a server audit correctly?

Create the server audit with a file target, define the failure behavior, then bind one server specification and per database specifications scoped to what compliance actually requires. The step by step creation guide covers both the Management Studio path and the script path.

Minimum viable audit configuration for a regulated estate

LayerSettingWhy
TargetBinary file on dedicated volumeFast, tamper evident, survives log clears
Failure actionFail operation for regulated databasesEvents cannot silently vanish
Server specLogins, role changes, audit changesCatches privilege escalation and tampering
Database specSchema changes, permission grants, sensitive object accessThe events regulators actually ask about
RetentionRollover files, 12 month minimumCovers the audit and the true up window
ReviewWeekly scripted pass plus alertingAn unread log is a liability, not a control

The settings that bite later

  • ON_FAILURE matters: continue means silent gaps; fail operation means availability risk; choose per database criticality, deliberately.
  • Audit the audit: include the audit change action group so disabling the audit is itself recorded.
  • File security: the audit volume needs separate permissions; an administrator who can delete the log defeats the control.

Reading the log without drowning

The binary files are read with the audit file function documented in the audit records reference. Wrap it in a scheduled job that filters for the dozen event types you care about, writes exceptions to a review table, and alerts on the genuinely rare ones: audit state changes, new sysadmin members, permission grants on sensitive schemas.

What should the weekly review actually look for?

The weekly pass looks for privilege drift, schema drift, and audit tampering. Everything else is noise until an incident makes it signal, which is why retention matters more than realtime dashboards.

  • Privilege drift: new server role members, permission grants outside change windows, orphaned high privilege accounts.
  • Schema drift: object changes on production databases that no change record explains.
  • Tampering signals: audit specification changes, audit stops, log file gaps.

Where the common advice on SQL Server auditing is wrong

The standard advice treats SQL Server Audit purely as a security control and stops at enabling it for the compliance checkbox. We disagree. In roughly 30 of the 30 to 40 estates Morten Andersen reviewed in 2024 to 2025, the same audit trail was the decisive licensing evidence: it documented when instances were decommissioned, when features stopped being used, and which logins were service accounts versus humans. Estates with 12 months of audit history defended Microsoft true ups and audits from records; estates without it negotiated from recollection. The buyer side move is one control serving two masters: configure the audit for security, retain it for licensing defense.

Monitoring dashboards with charts and log data on screen
The audit log that satisfies the regulator also defends the true up: decommission dates, feature usage, and human versus service logins, all timestamped.
30 to 40
Microsoft estates reviewed 2024 to 2025
1 in 4
Estates actually reviewing audit output
12 months
Retention that covers the true up window

Source: Redress Compliance advisory engagement file, 2024 to 2025.

An enabled audit nobody reads is a liability with a green checkbox. The control is the review cadence, not the specification.

How does the audit log help in licensing reviews?

Audit history is contemporaneous evidence of deployment reality. In Microsoft true ups and audits, login patterns separate human users from service accounts, event timestamps prove decommission dates, and the absence of activity supports unused instance claims, all against Product Terms definitions that reward precision.

Keep the rollover files for at least 12 months, archive them with the same discipline as financial records, and export a quarterly summary into your license position file. It costs almost nothing and pays exactly when the stakes are highest.

What to do next

  1. Create a file targeted server audit with deliberate failure behavior on every production instance.
  2. Bind a server specification covering logins, role changes, and audit changes.
  3. Scope database specifications to sensitive schemas, not whole databases.
  4. Schedule the weekly scripted review with alerts on tampering signals.
  5. Set rollover retention to 12 months and archive like financial records.
  6. Export quarterly summaries into your Microsoft license position file.

The Microsoft practice covers SQL Server licensing defense, and the Microsoft hub holds the related true up and hybrid licensing guides. For estate wide leakage, run the software spend health check.

Frequently asked questions

How do I enable SQL Server Audit?

Create a server audit object with a file target and deliberate failure behavior, bind a server audit specification for instance events, then add database audit specifications scoped to sensitive schemas. Management Studio and script paths both work.

Does SQL Server Audit hurt performance?

Minimally when scoped: file targeted audits with login, role, and schema action groups run at low single digit overhead. Auditing broad data access on busy OLTP databases is where cost appears; scope to sensitive objects instead.

What should we review in the audit log each week?

Privilege drift, schema drift, and tampering: new role members, permission grants outside change windows, unexplained object changes, audit state changes, and log gaps. Script the pass and alert on the rare events.

Is SQL Server Audit available in Standard edition?

Yes. Since SQL Server 2016 Service Pack 1, the full audit feature including database audit specifications works in all editions, not just Enterprise.

Can audit logs help with Microsoft licensing audits?

Decisively. Login patterns separate humans from service accounts, timestamps prove decommission dates, and inactivity supports unused instance claims. Estates with 12 months of history defended true ups from records, not recollection.

SQL Server Licensing Guide

The full SQL licensing guide from the Microsoft practice.

Audit configuration baseline, weekly review script outline, retention policy template, and the true up evidence checklist.

Used across more than five hundred enterprise engagements. Independent. Buyer side. Built for procurement leaders running the next renewal cycle.

No spam. We will only email you about this download. Privacy.
Test your Microsoft license position in under five minutes.
Open the Tool →