Во время ожидания события доступа к кэшу статьи в SQL Server произошла ошибка.
Описанная выше ошибка появляется при следующих обстоятельствах.
Для репликации слиянием.
Эта ошибка возникает при создании или повторной инициализации подписки слиянием, если агент слияния запущен раньше агента моментальных снимков или до завершения работы этого агента.
Для репликации транзакции.
Создана или повторно инициализирована транзакционная подписка при использовании настройки Да, инициализировать схему и данные, а агент распространителя запущен раньше агента моментальных снимков или до завершения работы этого агента. Эта ошибка возникает, только если данная подписка является единственной подпиской, связанной с агентом распространителя, или если все подписки, связанные с агентом распространителя, находятся в описанном выше состоянии. Как только в одной из подписок, связанной с данным агентом распространителя, появляется доступный моментальный снимок, выдается сообщение журнала агента "Нет доступных реплицированных транзакций" или сообщается номер транзакций и команд, доставленных для других подписок, связанных с данным агентом. Если в транзакционной публикации есть только одна статья, которая соответствует указанным выше критериям, выдается сообщение об ошибке 21076, "Исходный моментальный снимок статьи пока недоступен".
Если связанный агент моментальных снимков не запускался после создания данной подписки или с момента последней повторной инициализации подписки, то потребуется запустить агент моментальных снимков и позволить ему завершить свою работу до запуска агента слияния или распространения.
Если агент моментальных снимков не завершил свою работу, проверьте журнал агента моментальных снимков на наличие ошибок и устраните эти ошибки. При необходимости можно добавить журнал к агенту моментальных снимков, чтобы узнать, могут ли быть возвращены дополнительные сведения для каких-либо ошибок, сообщения о которых получены.
Как позволить агентам репликации вести журналы в файлах вывода в SQL Server
Target | Microsoft.SQLServer.2008.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
|
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.SQLServer.2008.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2008.InitialSnapshotForPublicationIsNotYetAvailableRule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" 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>21075</EventNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2008.InitialSnapshotForPublicationIsNotYetAvailableRule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>