sp_repldone (Transact-SQL)sp_repldone (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: ДаSQL Server ДаБаза данных SQL Azure (только Управляемый экземпляр) НетAzure Synapse Analytics (Хранилище данных SQL) НетParallel Data Warehouse APPLIES TO: YesSQL Server YesAzure SQL Database (Managed Instance only) NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

Обновляет запись, которая идентифицирует последнюю распределенную транзакцию сервера.Updates the record that identifies the last distributed transaction of the server. Эта хранимая процедура выполняется на издателе в базе данных публикации.This stored procedure is executed at the Publisher on the publication database.

Внимание!

В случае ручного выполнения процедуры sp_repldone можно нарушить порядок и согласованность доставленных транзакций.If you execute sp_repldone manually, you can invalidate the order and consistency of delivered transactions. sp_repldone следует использовать только для устранения неполадок репликации, направленных опытным специалистом службы поддержки репликации.sp_repldone should only be used for troubleshooting replication as directed by an experienced replication support professional.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

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

АргументыArguments

[ @xactid = ] xactidРегистрационный номер транзакции в журнале (LSN) первой записи для последней распределенной транзакции сервера.[ @xactid = ] xactid Is the log sequence number (LSN) of the first record for the last distributed transaction of the server. xactid является двоичным (10) и не имеет значения по умолчанию.xactid is binary(10), with no default.

[ @xact_seqno = ] xact_seqnoНомер LSN последней записи для последней распределенной транзакции сервера.[ @xact_seqno = ] xact_seqno Is the LSN of the last record for the last distributed transaction of the server. xact_seqno является двоичным (10) и не имеет значения по умолчанию.xact_seqno is binary(10), with no default.

[ @numtrans = ] numtransЧисло распределенных транзакций.[ @numtrans = ] numtrans Is the number of transactions distributed. numtrans имеет тип intи не имеет значения по умолчанию.numtrans is int, with no default.

[ @time = ] timeЧисло миллисекунд, необходимых для распределения последнего пакета транзакций.[ @time = ] time Is the number of milliseconds, if provided, needed to distribute the last batch of transactions. time имеет тип intи не имеет значения по умолчанию.time is int, with no default.

[ @reset = ] resetСостояние сброса.[ @reset = ] reset Is the reset status. Reset имеет тип intи не имеет значения по умолчанию.reset is int, with no default. Если значение равно 1, то все реплицированные транзакции в журнале помечаются как распределенные.If 1, all replicated transactions in the log are marked as distributed. Если значение равно 0, то журнал транзакций сбрасывается до первой реплицированной транзакции, а реплицированные транзакции не помечаются как распределенные.If 0, the transaction log is reset to the first replicated transaction and no replicated transactions are marked as distributed. Сброс допустим только в том случае, если оба xactid и xact_seqno имеют значение null.reset is valid only when both xactid and xact_seqno are NULL.

Значения кода возвратаReturn Code Values

0 (успешное завершение) или 1 (сбой)0 (success) or 1 (failure)

RemarksRemarks

sp_repldone используется в репликации транзакций.sp_repldone is used in transactional replication.

sp_repldone используется процессом чтения журнала для контроля за распределенными транзакциями.sp_repldone is used by the log reader process to track which transactions have been distributed.

С помощью sp_repldoneможно вручную сообщить серверу, что транзакция была реплицирована (отправлена распространителю).With sp_repldone, you can manually tell the server that a transaction has been replicated (sent to the Distributor). Кроме того, эта процедура позволяет изменить транзакцию, отмеченную в качестве следующей транзакции, подлежащей репликации.It also allows you to change the transaction marked as the next one awaiting replication. По списку реплицированных транзакций можно перемещаться вперед и назад.You can move forward or backward in the list of replicated transactions. (Все транзакции, номера которых не превышают номера этой транзакции, отмечаются как распределенные.)(All transactions less than or equal to that transaction are marked as distributed.)

Обязательные параметры xactid и xact_seqno можно получить с помощью sp_repltrans или sp_replcmds.The required parameters xactid and xact_seqno can be obtained by using sp_repltrans or sp_replcmds.

РазрешенияPermissions

Члены предопределенной роли сервера sysadmin или предопределенной роли базы данных db_owner могут выполнять sp_repldone.Members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_repldone.

ПримерыExamples

Если xactid имеет значение null, xact_seqno имеет значение null, а Сброс равен 1, все реплицированные транзакции в журнале помечаются как распределенные.When xactid is NULL, xact_seqno is NULL, and reset is 1, all replicated transactions in the log are marked as distributed. Это полезно, если в журнале транзакций имеются реплицированные транзакции, ставшие недействительными, и нужно усечь журнал, например:This is useful when there are replicated transactions in the transaction log that are no longer valid and you want to truncate the log, for example:

EXEC sp_repldone @xactid = NULL, @xact_seqno = NULL, @numtrans = 0, @time = 0, @reset = 1  

Внимание!

Данную процедуру можно использовать в аварийных случаях для усечения журнала транзакций при наличии транзакций, ожидающих репликации.This procedure can be used in emergency situations to allow truncation of the transaction log when transactions pending replication are present.

См. такжеSee Also

sp_replcmds (Transact-SQL) sp_replcmds (Transact-SQL)
sp_replflush (Transact-SQL) sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL) sp_repltrans (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)System Stored Procedures (Transact-SQL)