-1

我们的一位客户有一个 DNN 站点。服务器中发生了一些问题,并且托管该站点的驱动器崩溃了。幸运的是,数据库在其他驱动器中。所以我们有网站的数据库。我在本地系统中也有该站点的备份。现在我需要恢复网站。所以我的问题是我应该执行哪些步骤?

以下是我最近了解到的一些转折:

  • 还有其他站点,它们使用不同的 DNN 版本。我们可以从数据库中知道站点运行的是哪个版本的 DNN 吗?
  • 我试图将我的文件放在服务器上并提供数据库的连接字符串。当我启动站点时,它会完成安装过程,但会显示默认的 DNN 页面。请参见附图。

在此处输入图像描述

  • 当我检查日志文件时,它抛出以下错误

未处理的错误加载模块。---> System.Web.HttpException: 文件'/Portals/_default/Containers/Xcilion/NoTitle.ascx' 不存在

DotNetNuke.Services.Exceptions.Exceptions - DotNetNuke.Services.Exceptions.ModuleLoadException:未处理的错误加载模块。---> System.Web.HttpException:文件'/Portals/_default/Containers/Gravity/Title_h2.ascx'不存在。

DotNetNuke.Services.Exceptions.Exceptions - System.NullReferenceException:对象引用未设置为对象的实例。

DotNetNuke.Services.Exceptions.Exceptions - DotNetNuke.Services.Exceptions.ModuleLoadException:将模块添加到 ContentPane 时出现未处理错误 ---> System.NullReferenceException:对象引用未设置为对象的实例。

  • 然后我认为该站点可能使用内置数据库(我不记得我设置了什么样的数据库)。因此,我将站点代码复制到单独的文件夹中,并尝试将此文件夹与 IIS 映射。这给了我以下错误:

DotNetNuke.Common.Initialize - 与数据库的连接失败,但是,应用程序已经完全安装,访问者将显示 500 错误页面”

谁能告诉我如何恢复这个网站?

提前致谢。

4

1 回答 1

0

哎哟!

拥有数据库(或多个数据库)是一个好的开始。

查看版本表,最后一行是安装的最后一个 DNN 版本。查看门户表以查看在该安装中创建了哪些门户。

涉及容器的错误是指站点文件系统中缺少的文件。站点的 IIS 配置指向文件系统的根目录。

模块加载异常可能是指应该在 /DesktopFiles/ModuleName 中的模块文件。


因此,如果您拥有数据库并且您拥有与数据库相对应的文件的副本,那么将它们全部放回原处,确保连接字符串在 web.config 中正确指向...并交叉手指。

如果您有 DNN 版本和正确的数据库,您可以尝试对 DNN 进行全新安装,将您已安装的模块安装在崩溃的那个上,然后将干净版本的数据库与您拥有的数据库交换——实际上是一个副本。

确保您保留副本,并且您可以重建很多东西。

而且,不言而喻,您应该发誓要做好定期备份,并将它们存储在不同的磁盘上。

于 2020-08-09T00:22:24.550 回答