discuz!nt论坛搬迁后出错,提示:对象名 'dnt_templates' 无效
| 對象名 'dnt_templates' 無效解決方法: --解決重裝系統并還原論壇數據庫后,數據庫帳號不關聯的問題。 Exec sp_configure 'allow updates',1 --允許更新系統表。 如上法不行,請試用下面的方法: 我有自己的服務器,我將SQLServer數據庫備份后,我重新安裝了SQLServer并將備份數據庫還原,但論壇運行后提示表不存在。
例如:新建數據庫discuz,新建一個用戶user1,指定user1對數據庫discuz有權限,然后安裝Discuz!NT SQLServer版,Discuz!NT的安裝程序自動為用戶創建表,此時discuz中的表的所有者就是user1,這樣的好處是不需要user1用戶擁有任何sqlserver權限身份,安全性高(有的用戶用sa或其它管理員帳號來運行論壇,本地測試當然是無所謂,但如果是在服務器上這么做,一旦被惡意利用,可能就要威脅到所有數據庫甚至整個服務器的系統!還有一些程序沒有安裝程序,只是提供SQL腳本讓用戶創建表,很多用戶就用管理員帳號來創建了表,那時表的所有者為dbo,因此一般不出現該問題)。后來備份數據庫并重新安裝SQLServer,再將備份的數據庫還原,discuz數據庫的所有者還是user1,但user1不存在,你新指定的用戶user2可能也無法再操作discuz數據庫。雖然你看到表并沒有缺少,但user2卻無權訪問到它們,因此可能會提示表不存在。 解決這個問題的辦法很簡單:假設你的數據庫叫discuz,原來的所有者是用戶user1,備份還原后你新建立了一個用戶user2,遇到上述問題后,以管理員身份進入查詢分析器,選擇數據庫discuz,執行以下SQL命令: EXEC sp_change_users_login update_one, 'user1', 'user2' 執行完畢后,user2即對discuz數據庫擁有權限。另外特別需要提醒的是:當你修改了數據庫帳號后,請將論壇dnt.config中的小節里面帳號信息也做相應的修改,然后重新啟動IIS里的應用程序池。 |
轉載于:https://www.cnblogs.com/liugod/archive/2008/01/08/1029967.html
總結
以上是生活随笔為你收集整理的discuz!nt论坛搬迁后出错,提示:对象名 'dnt_templates' 无效的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迪迦奥特曼饰演者确诊新冠:暂无症状
- 下一篇: 交通银行小白卡额度一般是多少?金卡等级5