[使用されていません] レプリケーション ログ スキャンで指定された開始 LSN が無効です

Microsoft.SQLServer.2008.BeginLSNSpecifiedForReplicationLogscanInvalidRule (Rule)

Knowledge Base article:

概要

レプリケーション ログ スキャンに指定された開始ログ シーケンス番号が無効です。

原因

ディストリビューション データベース レプリケーション テーブルに格納されているログ シーケンス番号 (LSN) は、トランザクション ログでログ リーダー エージェントが次に読み取るように指定されている LSN よりも後のものです。これは、データがパブリッシャーとディストリビューターの間で矛盾しているため、ログ リーダー エージェント プロセスが次にどのレコードを正しく読み取るのか認識できないことを示しています。この状況は、MSrepl_transactions レプリケーション テーブルから行が手動で削除された場合、またはディストリビューション データベースが sync with backup を有効にしていたものの、パブリケーション データベースがデータベース間の一貫性を確認せずに復元された場合に発生します。

この状況が発生する可能性のあるシナリオを次に示します。

解決方法

影響を受けるトランザクション パブリケーションのすべてのサブスクリプションを再初期化して、データの同期をとるようにします。

外部資料

スナップショット レプリケーションおよびトランザクション レプリケーションのバックアップと復元の方式

上書き可能なパラメーター

名前

説明

既定値

有効

ワークフローを有効または無効にします。

いいえ

優先順位

アラートの優先順位を定義します。

2

重大度

アラートの重大度を定義します。

2

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
レプリケーション ログ スキャンで指定された開始 LSN が無効です
{0}

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.2008.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2008.BeginLSNSpecifiedForReplicationLogscanInvalidRule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="false" ConfirmDelivery="true">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.2008.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<PublisherName>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</PublisherName>
<EventNumber>18765</EventNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2008.BeginLSNSpecifiedForReplicationLogscanInvalidRule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>