Lock-free Backups
On this page
Lock-free backups do not block INSERT
, UPDATE
, and DELETE
operations at any point during a backup.
However, ALTER DATABASE
and SNAPSHOT
commands will not run while there is a backup job active on the relevant database.
Lock-free backups are enabled when the lockfree_
engine variable is set to ON
and the disable_
engine variable is set to OFF
.lockfree_
and disable_
are ON
and OFF
, respectively.
Note
Lock-free backups cannot be made using BACKUP DATABASE .
.
Locking that Occurs if Lock-free Backups are Disabled
If lock-free backups are disabled and BACKUP DATABASE
is run, the following applies before the backup starts:
-
The aggregator briefly blocks new queries from running across the cluster.
-
If there is a long-running write query executing,
BACKUP DATABASE
waits for the query to complete.
Once BACKUP DATABASE
is running, queries against the cluster can proceed normally.
Commands Blocked by the BACKUP Process
-
ALTER DATABASE
-
CREATE INDEX
-
OPTIMIZE ROWSTORE TABLE
-
DROP INDEX
(columnstore and rowstore) -
DROP DATABASE
-
SNAPSHOT DATABASE
Commands Not Blocked by the BACKUP Process
-
CREATE TABLE
(columnstore and rowstore) -
ALTER TABLE
(columnstore and rowstore) -
DROP TABLE
(columnstore and rowstore) -
DELETE TABLE
-
INSERT TABLE
-
TRUNCATE TABLE
(columnstore and rowstore) -
CREATE VIEW
-
DROP VIEW
-
ANALYZE TABLE
(columnstore and rowstore) -
OPTIMIZE COLUMNSTORE TABLE
-
SHOW TABLE STATUS
-
SHOW DATABASE STATUS
Last modified: February 29, 2024