Sitecore 发布问题和确定项目状态

Sitecore Publishing Problems and determining item state

任何人都可以向我解释每个数据库中健康的 sitecore 实例的数据应该处于什么状态?

例如: 我们目前在 2 服务器设置中发布时遇到问题。 我们的登台服务器托管 SQL 实例和 sitecore 的创作/登台实例。 然后我们有第二台服务器来托管我们公司网站的生产网站。

当我查看 master 数据库时,PublishQueue table 充满了条目,而 Web 数据库中的 table 是空的。

这是正确的吗?

目前无论点击多少次发布按钮都不会改变这一点。

如何确定项目在暂存和生产环境中的状态,而不必在站点核心之上编写应用程序 API 我真的没有时间?

数据库 table [PublishQueue] 是一个 table 存储所有保存和其他突变的地方。此 table 由增量发布使用。 Sitecore 从 PublishQueue table 中获取比上次增量发布日期最近修改的所有项目。 PublishQueue tabel 未被完整发布使用

所以这个Table里面有很多关于Master的记录也还好。 Web 数据库具有相同的数据库方案。 (不是相同的数据,web 只包含一个项目的一个版本,优化性能) web 上的 PublishQueue 是 Empty 这是正常的。

要知道一个item的状态compair master version和web version,webdatabase可以有1个以上,master database不知道web databasestate/version

一般来说,两个数据库的表会有所不同,因为它们用于不同的目的。您的主数据库通常由作者和发布逻辑连接,而 Web 数据库通常用作应该可见的最新发布内容版本的存放位置。

在调试发布方面,从 Sitecore 桌面,您可以在右下角的 'master' 和 'web' 数据库之间切换,并使用内容编辑器检查任何单个项目。这对于抽查单个项目是否已成功发布很有用。

如果 'web' 中缺少某个项目,或者 'web' 中的版本有误,您应该检查以下内容:

  1. 对项目的发布限制:是否对项目或版本应用了阻止其在此时发布的限制?
  2. 工作流状态:item/version是否处于最终批准的工作流状态?您可以使用工作箱快速检查需要批准的项目。
  3. 连接字符串:您的暂存系统连接字符串是否设置为连接到生产交付服务器使用的正确'web'?

Web 数据库的发布队列为空是正常现象。原因是因为对主数据库进行了更改,这将在发布队列中添加一个条目。

发布后,项目不会从发布队列中删除table。 CleanupPublishQueue 的工作是清理发布队列 table。