我继承了 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 表?谢谢。