这有点晚了,但可能对其他人有帮助,因为当前版本中也存在同样的问题。
ERROR Failed to perform Visit End actions
Exception: System.InvalidOperationException
Message: Could not find configuration node: databases/database[@id='master']
Source: Sitecore.Kernel
at Sitecore.Diagnostics.Assert.IsTrue(Boolean condition, String message)
at Sitecore.Configuration.Factory.GetConfigNode(String xpath, Boolean assert)
at Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert)
at Sitecore.Configuration.Factory.GetDatabase(String name)
at Sitecore.Analytics.Pipelines.VisitEnd.RunRules.Process(VisitEndArgs endArgs)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Analytics.VisitEndWorker.Helper.Process(Action visitEndAction)
要解决此问题,您需要创建一个名为 Sitecore.Analytics.DefaultDefinitionDatabase.config 的新文件,并添加以下配置:
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<settings>
<setting name="Analytics.DefaultDefinitionDatabase">
<patch:attribute name="value">web</patch:attribute>
</setting>
</settings>
</sitecore>
</configuration>
注意:
此设置目前不在任何文件中,它被硬编码到 Analytics DLL 中,并且此设置的默认值为“master”,因此,您必须创建一个新的配置文件来覆盖此设置。如果您仍然收到错误,则标准安装后添加的配置文件中可能有更多对 master 的引用。两个示例是 News Mover 模块和 Advanced Database Crawler。解决方案是找到对这些主数据库的所有引用并修补它们以替换为 Web 或完全删除该设置(如果在交付服务器的上下文中不需要它)。
参考:http ://www.sitecoredevelopment.com/MarkGraber/2013/June/Tips-on-Setting-up-a-Content-Delivery-Server-with-No-Master-Database.aspx