Tips on Setting up a Content Delivery Server with No Master Database



The following are my recommended steps for setting up a content delivery server in Sitecore 6.6.

First, download the Sitecore Scaling Guide and the SwitchMasterToWeb.config from this SDN Link.

Once you have followed the steps in the scaling guide, you will get the following error:

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)

To fix this, you'll need to create a new file named Sitecore.Analytics.DefaultDefinitionDatabase.config with the following added to it:

<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>

Note: this setting is currently not located in any file, it's hard-coded into the Analytics DLL and the default value for this setting is "master", therefore, you MUST create a new config file to override this setting.

If you still get the error, there may be more references to master in the config files that were added after the standard install.  Two examples are the News Mover module and Advanced Database Crawler.  The solution is to find all references to these master databases and patch them to replace with web or remove the setting entirely if it is not needed in the context of a delivery server.


Categories: 

Add a comment
 
For Security please arrange
the letters to spell ‘OASIS’
  • O
  • A
  • S
  • I
  • S



 

Comments

  • Ryan Tuck
    11/17/2014 7:48 PM

    Thank you so much, this had me stumped for a fair while.