The full capability set

Eighteen capabilities,
available on every engine

Grouped the way they actually work together: see everything, know what matters, catch the behavior that's dangerous, stop it, prove it happened, and keep the underlying settings honest.

👁  Visibility
01
Real-time statement visibility
Every active query is seen within seconds — who ran it, from where, with what tool, and how long it's been running.
02
Fast-query & burst counting
Queries too quick to catch individually are still counted from the engine's own execution counters, so a rapid-fire script can't hide between polling cycles.
03
Authentication visibility
Failed and successful logins, and the method used, so a password-guessing attempt followed by a real login reads as one story, not two unrelated events.
🔎  Know What's Sensitive
04
Automatic data classification
Scans every database and proposes which tables and columns hold sensitive data, using evidence the engine already has — not a blind guess.
05
Evidence-based auto-approval
When two independent signals agree a column is sensitive, it's approved automatically. Everything else waits for a human to confirm.
06
Honeytoken (canary) protection
A small number of tables act as tripwires. Touching one is treated as an absolute signal of compromise — no account, however trusted, is exempt.
⚡  Detection
07
Rule-based threat detection
Clear-cut violations — a sensitive-table read, an export, a privilege grab — are caught by deterministic rules, instantly, with no model to wait on.
08
Behavioral anomaly detection
A model learns what normal looks like for each real identity in your environment, and flags what doesn't fit — without needing to be told the pattern in advance.
09
Evasion-resistant query matching
A query is recognized by what it actually does, not just its literal text — so a cosmetic rewrite of a known query is still caught as the same query.
🛡  Response
10
Automatic query termination
A confirmed threat is stopped before it finishes — and DBSheriff verifies it's actually gone before reporting success.
11
Graduated response
Short of a hard stop: a temporary statement timeout or a time-boxed access revocation — reversible, and fully audited.
12
Burst-triggered account lockout
A pattern of rapid, risky activity locks the account behind it — one lock per incident, not a flood of redundant actions.
13
Retry escalation
An account that immediately re-runs a query DBSheriff just stopped is treated as a stronger signal, and can escalate straight to a lock.
14
Controlled, audited recovery
Unlocking an account is a deliberate, logged action — never automatic, always attributable to a person on your team.
📋  Evidence & Governance
15
Compliance reporting
A report per server, every finding mapped to PCI DSS 4.0, SOC 2, NIST 800-53 and the relevant CIS benchmark — export as HTML or CSV.
16
Continuous posture scanning
A scheduled check for the settings that make everything else true — weak authentication, excess privilege, logging switched off — on a recurring schedule, not just at setup.
17
Account & access inventory
Who has access to what, across every registered database, kept current automatically rather than reconstructed by hand for an audit.
18
Real-time alerting
Configurable alerts — including, on the cloud-billed warehouses, an alert when a query's actual dollar cost crosses a threshold you set.
What actually gets flagged

The risky behavior
DBSheriff is built to catch

This isn't a generic "SQL injection scanner." These are the specific behaviors — insider misuse, a compromised credential, a runaway script, a slow and deliberate extraction — that a database security review is actually worried about, described in plain terms.

CategoryWhat it looks like
Bulk or unusual sensitive-data readsA query touching a classified table — PII, financial records, credentials — at a volume or shape that doesn't match how that account normally uses the database, including a full scan of a table that's normally accessed narrowly.
Disguised repeats of a known-risky queryThe same underlying read, wrapped in a comment, a sub-query, or rewritten just enough to dodge a naive text match — still recognized as the same behavior.
Data leaving through an export pathBulk export functions, file writes, cross-account data sharing, or any mechanism the database itself provides for moving data out — not just a plain SELECT.
Operating-system or file access from inside SQLDatabase functions or procedures that reach outside the database itself — reading server files, executing OS commands, or loading untrusted code.
Privilege escalation & impersonationGranting elevated rights, switching to another account's identity mid-session, or otherwise expanding what an account can do beyond its normal footprint.
Tampering with the monitoring itselfTurning off audit logging, resetting statistics, or disabling the very controls that would otherwise catch what happens next — treated as one of the most serious signals there is.
Disabling data-protection controlsSwitching off row-level security, dropping a masking policy, or otherwise removing a protection that was put in place on purpose.
Credential-stuffing & brute-force patternsA burst of failed logins, especially one immediately followed by a successful one — read together as a single story, not two unrelated log lines.
Sleep-based denial-of-serviceA query designed to do nothing but hold a connection open — a classic way to exhaust a connection pool and take an application down without ever touching real data.
Burst / rate-based evasionMany small, individually-unremarkable queries fired quickly enough that no single one looks dangerous — caught in aggregate, not just one at a time.
Behavioral anomaliesOff-hours access, a brand-new source location, a dormant account suddenly active, or a never-before-seen client tool touching sensitive data.
Canary (honeytoken) table accessAny touch of a designated tripwire table — an absolute signal, with no exceptions for otherwise-trusted accounts.
Administrative privilege used for data workAn account meant for administration — not day-to-day data access — used to read or export ordinary business data.
Result sets far outside a user's normal patternTen, a hundred, a thousand times more data returned than that identity's own history would predict.
Cost-abuse on cloud-billed warehousesOn Snowflake, BigQuery, and Databricks, a query burning far more compute or dollar cost than is normal — its own category of "risky," independent of what data it touches.
How it decides

A layered decision engine,
not a single trigger-happy switch

Not every unusual-looking query deserves to be killed. DBSheriff scores every statement through three layers, in order, so a false alarm never becomes a false termination.

Tier 1 — Trusted Accounts
Known-safe identities pass through instantly

Your DBAs, monitoring accounts, and known service accounts are designated trusted and bypass ordinary scoring — so your legitimate high-volume work never trips a false kill. This trust is never absolute: touching a honeytoken table overrides it, with no exceptions, for any account.

Tier 2 — Deterministic Rules
Clear-cut violations act immediately, no model needed

Sensitive-table breaches, export patterns, privilege escalation, and monitoring-tamper attempts are caught by rules, not a probability score — so there's no waiting for a model to "decide" something that's already obviously wrong.

Tier 3 — Behavioral Scoring
Everything else is scored against your own baseline

What the rules don't already catch is scored by a model trained on your actual historical traffic — what's normal for your people and your workloads, not a generic industry signature.

◆  The response ladder

Escalation, not
an on/off switch

The right response to a first-time false-positive-shaped query is different from the right response to a confirmed, repeated attack. DBSheriff's response climbs a ladder instead of jumping straight to the most severe action every time.

Step 1
Detect & score
Every statement is scored within seconds of starting. Nothing acts on a score alone until a real threshold is crossed.
Step 2
Graduated response
A temporary statement timeout, or a time-boxed revocation of access to the specific table involved — short of a hard stop, fully reversible, fully logged.
Step 3
Terminate
A confirmed threat's statement is killed outright, and DBSheriff independently verifies it's actually gone — not just that a kill command was sent.
Step 4
Lock the account
A burst of risky activity, or an immediate retry of a just-blocked query, escalates to a full account lock — the login itself is disabled, not just the one statement.
Step 5
Controlled recovery
Unlocking is always a deliberate action by someone on your team, through the console, with the who/when recorded.
🔒  Automatic remediation, on your terms

Every action — terminate, revoke, lock — is a switch your team turns on per server. New installations run in detect-only mode: you see exactly what DBSheriff would have stopped before you ever let it act. Nothing changes your data, roles, or settings on its own, and every action taken is reversible and written to an audit trail you can read.

Trust, without blind spots

Trusted accounts get room to work.
They don't get a blind spot.

A DBA running a legitimate bulk migration shouldn't trigger the same response as an attacker running the identical-looking query. DBSheriff's policy engine recognizes the difference — without ever creating an account that's simply invisible to the system.

Account typeHow it's treated
Trusted / known-safe accountsOrdinary risk is scored but suppressed — the query runs, the event is still recorded. A honeytoken touch overrides this without exception. An explicit setting can require even trusted accounts to be stopped on a genuine large-scale data-exfiltration pattern.
Privileged / administrative accountsJudged more strictly, not less — administrative work is expected to look like administrative work, and is held to a higher bar, not exempted from one.
Narrow-access service accountsGiven kill-suppression only for the exact, specific access they were registered for — any query outside that narrow scope is judged like any ordinary account.
Everyone elseScored on their own merits, with no assumptions either way.
⚠  What's never exempt

A honeytoken (canary table) touch is an absolute signal, for every account type, with no configuration that turns it off. It exists specifically to catch the scenario every other rule might miss.

Want the engineering detail behind this?

How credentials are handled, what leaves your network (nothing), and how the detection engine itself is built to be trustworthy.

Read the security & architecture guide → Request a Demo