Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения: 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 является двоичным(10), без значения по умолчанию.
[ @xact_seqno = ] xact_seqno
LSN последней записи для последней распределенной транзакции сервера. @xact_seqno является двоичным(10), без значения по умолчанию.
[ @numtrans = ] numtrans
Количество распределенных транзакций. @numtrans не используется без значения по умолчанию.
[ @time = ] время
Количество миллисекунда, если оно указано, необходимо для распределения последнего пакета транзакций. @time не используется без значения по умолчанию.
[ @reset = ] сброс
Состояние сброса. @reset не используется без значения по умолчанию.
- Если
1все реплицированные транзакции в журнале помечены как распределенные. - Если
0журнал транзакций сбрасывается на первую реплицированную транзакцию, а реплицированные транзакции не помечены как распределенные.
@reset допустимо только в том случае, если @xactid и @xact_seqnoNULL.
Значения кода возврата
0 (успешно) или 1 (сбой).
Замечания
sp_repldone используется в репликации транзакций.
sp_repldone используется процессом чтения журналов для отслеживания распределенных транзакций.
С помощью sp_repldoneможно вручную сообщить серверу о том, что транзакция была реплицирована (отправлена распространителю). Кроме того, эта процедура позволяет изменить транзакцию, отмеченную в качестве следующей транзакции, подлежащей репликации. По списку реплицированных транзакций можно перемещаться вперед и назад. (Все транзакции, номера которых не превышают номера этой транзакции, отмечаются как распределенные.)
Требуемые параметры @xactid и @xact_seqno можно получить с помощью sp_repltrans или sp_replcmds.
Данную процедуру можно использовать в аварийных случаях для усечения журнала транзакций при наличии транзакций, ожидающих репликации. Дополнительные сведения см. в разделе Примеры.
Разрешения
Члены предопределенных ролей сервера sysadmin или предопределенных ролей базы данных db_owner могут выполнятьсяsp_repldone.
Примеры
Если @xactidNULL, @xact_seqno есть NULLи @reset , 1все реплицированные транзакции в журнале помечены как распределенные. Это полезно, если в журнале транзакций имеются реплицированные транзакции, ставшие недействительными, и нужно усечь журнал, например:
EXECUTE sp_repldone
@xactid = NULL,
@xact_seqno = NULL,
@numtrans = 0,
@time = 0,
@reset = 1;