sp_repldone (Transact-SQL)
Область применения: SQL Server Управляемый экземпляр SQL Azure
Обновляет запись, которая идентифицирует последнюю распределенную транзакцию сервера. Эта хранимая процедура выполняется на издателе в базе данных публикации.
Внимание
При выполнении sp_repldone вручную можно сделать недействительным порядок и согласованность доставленных транзакций. sp_repldone следует использовать только для устранения неполадок репликации, как указано опытным специалистом по поддержке репликации.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_repldone [ @xactid= ] xactid
, [ @xact_seqno= ] xact_seqno
[ , [ @numtrans= ] numtrans ]
[ , [ @time= ] time
[ , [ @reset= ] reset ]
Аргументы
[ @xactid = ] xactid
Номер последовательности журнала (LSN) первой записи для последней распределенной транзакции сервера. xactid — binary(10), без значения по умолчанию.
[ @xact_seqno = ] xact_seqno
Номер LSN последней записи для последней распределенной транзакции сервера. xact_seqno является двоичным(10), без значения по умолчанию.
[ @numtrans = ] numtrans
Число распределенных транзакций. numtrans является int, без значения по умолчанию.
[ @time = ] time
Число миллисекунда, если оно указано, необходимо для распределения последнего пакета транзакций. время имеет значение int, без значения по умолчанию.
[ @reset = ] reset
Состояние сброса. сброс имеет значение int, без значения по умолчанию. Если 1, все реплицированные транзакции в журнале помечены как распределенные. Если значение равно 0, журнал транзакций сбрасывается на первую реплицированную транзакцию, а реплицированные транзакции не помечены как распределенные. Сброс действителен только в том случае, если xactid и xact_seqno имеют значение NULL.
Значения кода возврата
0 (успешно) или 1 (сбой)
Замечания
sp_repldone используется в репликации транзакций.
sp_repldone используется процессом чтения журналов для отслеживания распределенных транзакций.
С помощью sp_repldone можно вручную сообщить серверу о том, что транзакция была реплицирована (отправлена распространителю). Кроме того, эта процедура позволяет изменить транзакцию, отмеченную в качестве следующей транзакции, подлежащей репликации. По списку реплицированных транзакций можно перемещаться вперед и назад. (Все транзакции, номера которых не превышают номера этой транзакции, отмечаются как распределенные.)
Необходимые параметры xactid и xact_seqno можно получить с помощью sp_repltrans или sp_replcmds.
Разрешения
Члены предопределенных ролей сервера sysadmin или предопределенных ролей базы данных db_owner могут выполняться sp_repldone.
Примеры
Если xactid имеет значение NULL, xact_seqno имеет значение NULL, а сброс равен 1, все реплицированные транзакции в журнале помечены как распределенные. Это полезно, если в журнале транзакций имеются реплицированные транзакции, ставшие недействительными, и нужно усечь журнал, например:
EXEC sp_repldone @xactid = NULL, @xact_seqno = NULL, @numtrans = 0, @time = 0, @reset = 1
Внимание
Данную процедуру можно использовать в аварийных случаях для усечения журнала транзакций при наличии транзакций, ожидающих репликации.
См. также
sp_replcmds (Transact-SQL)
sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)