The queues must be drained because when a table is disabled for capture, the corresponding cdc mirror table is dropped and any pending data contained in the mirror table will be lost.
When you enable capture for a request:
-
A read-only table lock is placed on all tables in the request
-
Drains all tables
-
Disables all tables
-
Enables all tables
-
Lock is removed as soon as the command completes.
When you enable capture for a table:
-
A read-only table lock is placed on the table
-
Drains the table
-
Disables the table
-
Enables the table
-
Lock is removed as soon as the command completes