Sitecore 6 - 无法删除Content Delivery Server上的master数据库

时间:2013-03-12 21:39:43

标签: database connection-string sitecore sitecore6 master

大家好,我的Content Delivery服务器有点问题。如果没有爆炸,我们无法删除主数据库。我们目前的信息如下:

Sitecore.NET 6.5.0 (rev. 111230)
December 30, 2011
.NET Framework 4.0.30319.239
Database version: 500

我们收到的错误和堆栈跟踪是:

[InvalidOperationException: Unknown connection string. Name: 'master']
   Sitecore.Configuration.Settings.GetConnectionString(String connectionStringName) +364
   Sitecore.Configuration.Factory.CreateFromConnectionStringName(XmlNode configNode, String[] parameters, Boolean assert) +106
   Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper) +164
   Sitecore.Configuration.Factory.GetInnerObject(XmlNode paramNode, String[] parameters, Boolean assert) +110
   Sitecore.Configuration.Factory.GetConstructorParameters(XmlNode configNode, String[] parameters, Boolean assert) +209
   Sitecore.Configuration.Factory.CreateFromTypeName(XmlNode configNode, String[] parameters, Boolean assert) +94
   Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper) +141
   Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert) +424
   Sitecore.Configuration.Factory.CreateFromReference(XmlNode configNode, String[] parameters, Boolean assert) +194
   Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper) +118
   Sitecore.Configuration.Factory.GetInnerObject(XmlNode paramNode, String[] parameters, Boolean assert) +930
   Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode, String[] parameters, Object obj, Boolean assert, Boolean deferred, IFactoryHelper helper) +581
   Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper) +296
   Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert) +424
   Sitecore.Configuration.Factory.GetDatabase(String name, Boolean assert) +185
   Sitecore.Configuration.Factory.GetDatabases() +152
   Sitecore.Data.Managers.HistoryManager.InitializeEventHandlers() +49
   Sitecore.Pipelines.Loader.InitializeManagers.Process(PipelineArgs args) +14
   (Object , Object[] ) +80
   Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) +191
   Sitecore.Nexus.Web.HttpModule.Application_Start() +146
   Sitecore.Nexus.Web.HttpModule.Init(HttpApplication app) +603
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +575
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +352
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +407
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +375

[HttpException (0x80004005): Unknown connection string. Name: 'master']
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11700608
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4868805

当历史记录管理器初始化时,它似乎在某个时刻从主数据库请求信息。任何人都可以帮我找出这个问题的发生位置吗?

提前致谢,

- 汤姆

更新#1

将SwitchMasterToWeb.config添加到app_config / include文件夹后,我现在收到此消息:

[InvalidOperationException: Could not find configuration node: databases/database[@id='master']]
   Sitecore.Diagnostics.Assert.IsTrue(Boolean condition, String message) +57
   Sitecore.Configuration.Factory.GetConfigNode(String xpath, Boolean assert) +279
   Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert) +144
   Sitecore.Configuration.Factory.GetDatabase(String name) +169
   LuceneSearch.LuceneSearch.LuceneSearchBox.Page_Load(Object sender, EventArgs e) in C:\xyz\Website\sitecore modules\LuceneSearch\LuceneSearchBox.ascx.cs:29
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
   System.Web.UI.Control.LoadRecursive() +71
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3064

6 个答案:

答案 0 :(得分:4)

您的搜索索引配置可能包含对主数据库和Web数据库的引用。您需要对其进行修补或在CD服务器上将其替换为仅包含Web数据库位置。

答案 1 :(得分:3)

LuceneSearch.LuceneSearch.LuceneSearchBox.Page_Load()包含对数据库的硬编码引用。没有这个重新编译或者不部署这个代码隐藏所在的DLL。

答案 2 :(得分:2)

如果您在app_config \ include中复制SwitchMasterToWeb.Config,则应删除对master数据库的引用。 如果您已将其复制,请检查在配置历史记录引擎时是否发生了复制粘贴错误。

答案 3 :(得分:1)

如果要删除生产环境的数据库,您还需要记住更新环境配置(将每个站点重新分配到 web 数据库,删除数据库索引和存档等。)

以下是解释如何配置 Sitecore 生产环境的文档。它是为Sitecore 6.0编写的,但它在较新版本中的工作方式相同。第1.2.1章说明了删除数据库时需要执行的操作:

http://sdn.sitecore.net/upload/sdn5/developer/configuring%20production%20environments/configuring%20production%20environments.pdf

答案 4 :(得分:1)

访问www.yoursite.com/sitecore/admin/showconfig.aspx查看您当前的配置。 执行文本搜索“master”或检查部分

<indexes>

<Engines.HistoryEngine.Storage>

您可能有一个仍指向master数据库的设置。它可能包含在/ App_Config /

中的一个包含文件中

答案 5 :(得分:1)

我从App_Config目录中删除了文件“Sitecore.ContentSearch.Lucene.Index.Master.config”,这对我来说已经解决了。我试图使用CM和CD环境设置LaunchSitecore端。