以前用數據庫建立關係圖,結果報了這個錯誤。而後搜索之。html
轉自http://www.cnblogs.com/muer/archive/2010/04/14/1711778.htmlsql
此數據庫沒有有效全部者,所以沒法安裝數據庫關係圖支持對象。若要繼續,請首先使用「數據庫屬性」對話框的「文件」頁或Alter AUTHORIZATION語句將數據庫全部者設置爲有效登陸名,而後再添加數據庫關係圖支持對象。
按照第一種方式更改怎麼也不行,而且文件的全部者也是sa。在csdn中找了半天,有個同志給出了第二種解法,使用ssms。具體在SSMS中運行如下命令:
Alter AUTHORIZATION ON database::mydbname TO sa
把mydbname修改成實際的數據庫名稱,就能夠把全部者設置爲sa了。
通過一番努力也沒找到ssms[呵呵,我在新建查詢裏執行成功,但沒解決問題],哎。這個也泡湯了。心中有了從新格系統的想法。
想象一下格系統的麻煩,隨後有百度。在一個論壇中發現了這樣的解決辦法:
解決方法以下:
一、設置兼容級別爲90(2005爲90)(2000爲80)
use master
GO
EXEC dbo.sp_dbcmptlevel @dbname='數據庫名', @new_cmptlevel=90
GO 數據庫
以前運行這段代碼會報錯,緣由是 use master 多是用了中文,我本身敲打一遍,經過。
[這條命令執行完畢:報「DBCC 執行完畢。若是 DBCC 輸出了錯誤信息,請與系統管理員聯繫」,無論它哦,接下來點擊「數據庫關係圖」,報「此數據庫缺乏一個或多個使用數據庫關係圖所需的支持對象,是否建立」,選擇「是」,問題解決了]
或是選擇你還原的數據庫,點右鍵,選屬性->選項->兼容級別,選擇sqlserver2005(90) 而後肯定。(呵呵,我就是用這個方法解決的。呵呵,小小的高興一下)
這時,你在該數據庫下展開「數據庫關係圖」節點時會有個提示,"此數據庫缺乏一個或多個使用數據庫關係圖所需的支持對象,是否建立",選擇「是」便可。
二、經過以上的方法操做,若是問題依然存在的話,按下列方法繼續
選擇你的數據庫,而後選擇"安全性"->"用戶",選擇dbo,打開屬性頁,如登陸名爲空的話,新建查詢,而後
use [你的數據庫名]
EXEC sp_changedbowner 'sa'
執行成功後,你再選擇"數據庫關係圖"節點,時提示 「此數據庫缺乏一個或多個使用數據庫關係圖所需的支持對象,是否建立",選擇「是」便可。 就能夠看到原先建的關係圖了。 安全
若是執行代碼不經過,那多是編碼問題,自行敲打即可經過。sqlserver