Skip to main content
compliance · azure

Azure SQL databases on a logical server with auditing switched off

resource types
1
rule IDs covered
1
severity
medium

What does ZopNight detect here?

ZopNight flags an Azure SQL database when auditing is off on its logical server, the setting every database on that server inherits. Without it, no record of logins, queries or permission changes reaches a storage account, Log Analytics workspace or Event Hubs. Severity is medium and no saving is claimed, since enabling auditing adds log cost.

Signal and threshold

How ZopNight evaluates Azure SQL databases on a logical server with auditing switched off.
Field Value
Rule IDsRC-1331
Categorycompliance
Severitymedium
Metricnone — pure configuration read
Thresholdserver auditing disabled
SourceZopNight
Permissions usedMicrosoft.Sql/servers/databases/read · Microsoft.Sql/servers/auditingSettings/read

No audit, no record of who touched the data

Auditing for Azure SQL Database tracks database events and writes them to an audit log in an Azure storage account, a Log Analytics workspace or Event Hubs. It is how you answer, after the fact, which login ran a destructive query, who granted a permission, or whether a leaked credential was used.

Most compliance frameworks expect this trail. With auditing off, the events are never captured and cannot be reconstructed later.

Checking auditing on a server

Terminal window
az sql server audit-policy show --resource-group my-rg --name my-server

Look at state and at which destinations are enabled: blob storage, Log Analytics or Event Hubs. A Disabled state means no server-level audit is being written.

Server-level auditing is what ZopNight reads

ZopNight evaluates each database but reads the auditing state of the logical server it lives on, which all of that server’s databases inherit. It fires when Azure reports that state as off. There is no metric or window; the check repeats on every scan.

When the rule stays quiet

If ZopNight could not read the server’s auditing state, it raises nothing for the server’s databases. Tags on the database or server are not consulted. Because the rule looks at the server policy, a database with its own database-level audit policy can still be flagged while server auditing is off; that is the main case to dismiss with a note.

Compliance exposure, and a logging bill if you fix it

This finding claims no saving. Enabling auditing adds destination costs: storage for append-blob .xel files, Log Analytics ingestion, or Event Hubs throughput. Microsoft warns that server-level auditing with default settings on busy OLTP servers can produce very large audit volumes, so plan retention and filtering.

Turning server auditing on

  1. Choose the destination. Log Analytics is easiest to query; storage is cheapest to retain.
  2. Enable it, for example to a workspace:
Terminal window
az sql server audit-policy update --resource-group my-rg --name my-server \
--state Enabled --lats Enabled \
--lawri /subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.OperationalInsights/workspaces/<ws>
  1. For storage targets, use --bsts Enabled --storage-account mystorage and set a retention period that matches your compliance requirement.
  2. Limit who can read audit logs in the destination; Microsoft recommends least privilege there as well.
  3. Run a query and confirm events appear.

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

472 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

472 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·