sp_repldone (Transact-SQL)

Применимо к:SQL Server Управляемый экземпляр SQL Azure

Обновляет запись, которая идентифицирует последнюю распределенную транзакцию сервера. Эта хранимая процедура выполняется на издателе в базе данных публикации.

Внимание

При выполнении sp_repldone вручную можно сделать недействительным порядок и согласованность доставленных транзакций. sp_repldone следует использовать только для устранения неполадок реплика tion, как показано опытным специалистом по поддержке реплика.

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_repldone [ @xactid= ] xactid   
        , [ @xact_seqno= ] xact_seqno   
    [ , [ @numtrans= ] numtrans ]   
    [ , [ @time= ] time   
    [ , [ @reset= ] reset ]  

Аргументы

[ @xactid = ] xactid Номер последовательности журнала (LSN) первой записи для последней распределенной транзакции сервера. xactidbinary(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 используется в транзакционной реплика tion.

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)