REPAIR_ALLOW_DATA_LOSS in replicated databases
predicatesThe
option is
an alternative for restoring from a known good
backup. It’s an emergency
option recommended for use only if restoring from a
backup is
possible.
After it rebuilds the log, there’s no full ACID guarantee.
After it rebuilds the log,
is automatically performed and both reports and
corrects physical consistency issues.
Logical data consistency and business logic enforced constraints must be validated manually.
The transaction log size is left to its default size and must be manually adjusted back to its
recent size.
Running the
command with the
option can affect user
databases (publication and subscription databases) and the distribution database used by
replication. Publication and subscription databases include published tables and replication
metadata tables. Be aware of the following potential issues in these databases:
Published tables. Actions performed by the
process to repair corrupt user data
might not be replicated:
Merge replication uses triggers to track changes to published tables. If rows are inserted,
updated, or deleted by the
process, triggers don’t fire; therefore, the change isn’t
replicated.
Transactional replication uses the transaction log to track changes to published tables.
The Log Reader Agent then moves these changes to the distribution database. Some
DBCC repairs, although logged, can’t be replicated by the Log Reader Agent. For example,
if a data page is deallocated by the
process, the Log Reader Agent doesn’t
translate this deallocation to a DELETE statement; therefore, the change isn’t replicated.
Replication metadata tables. Actions performed by the
process to repair corrupt
replication metadata tables require removing and reconfiguring replication.
If you have to run the
command with the
option on a
user database or distribution database:
- Quiesce the system: Stop activity on the database and at all other databases in the
replication topology, and then try to synchronize all nodes. For more information, see
REPAIR_ALLOW_DATA_LOSS
DBCC CHECKDB
DBCC CHECKDB
REPAIR_ALLOW_DATA_LOSS
CHECKDB
CHECKDB
CHECKDB
CHECKDB
DBCC CHECKDB
REPAIR_ALLOW_DATA_LOSS