【发布时间】:2015-01-27 09:22:23
【问题描述】:
我继承了 DotNetNuke (v6.2.0.1610) 站点的维护工作,我想做的一件事是整理正在使用的数据库表。
看起来可能有两个 DNN 安装到同一个数据库中(我猜,我不知道它的历史也无法找到),我做出这个假设是因为有两组 DotNetNuke表格。
例如,我们有:dbo.Portals、dbo.PortalSettings、dbo.Profile、dbo.Roles等
不过,那我们也有相同的集合,前缀为dnn_ -dbo.dnn_Portals、dbo.dnn_PortalSettings、dbo.dnn_Profile、dbo.dnn_Roles等
当我无法加载我们的门户网站时,我花了很长时间才发现这是因为我正在编辑dbo.PortalAlias 表,而我需要编辑dbo.dnn_PortalAlias 表。
我想避免这种未来维护的麻烦,所以我备份了数据库,并着手删除所有没有dnn_ 前缀的表(web.config 指定objectQualifier="dnn_")。在删除任何表之前,我努力确保有一个匹配的 dnn_ 表。
起初看起来还不错 - 门户已加载,所有内容都在那里,我以为我赢了。但是,当我登录并访问站点管理部分时,我开始收到大量错误消息。所以我认为我删除了太多,我恢复了备份,一切都很好 - 门户再次工作。
但是,我真的很想摆脱不必要的表,因为毫无疑问在将来的某个时候我会开始在数据库上做一些工作,忘记 dnn_ 前缀并浪费大量时间想知道为什么有些东西不起作用。
所以,作为一个 DotNetNuke 新手,我正在寻求一些帮助 - 我如何知道哪些表正在使用,哪些未使用,以及如何着手整理 SQL Server 表?谢谢。
【问题讨论】: