1. 程式人生 > >異常:資料庫沒有有效所有者,因此無法安裝資料庫關係圖支援物件

異常:資料庫沒有有效所有者,因此無法安裝資料庫關係圖支援物件

原文:http://www.cnblogs.com/dylanding/archive/2009/05/07/1451342.html


異常:資料庫沒有有效所有者,因此無法安裝資料庫關係圖支援物件

某一天,在除錯程式時突然發現,在附加資料庫後,想新增關係表,結果出來了下面的錯誤:

此資料庫沒有有效所有者,因此無法安裝資料庫關係圖支援物件。若要繼續,請首先使用“資料庫屬性”對話方塊的“檔案”頁或ALTER

AUTHORIZATION語句將資料庫所有者設定為有效登入名,然後再新增資料庫關係圖支援物件。
按照第一種方式更改怎麼也不行,並且檔案的所有者也是sa。在csdn中找了半天,有個同志給出了第二種解法,使用ssms。具體在SSMS中執行

以下命令:

ALTER AUTHORIZATION ON database::mydbname TO sa

把mydbname修改為實際的資料庫名稱,就可以把所有者設定為sa了。
經過一番努力也沒找到ssms,哎。這個也泡湯了。心中有了重新格系統的想法。

想象一下格系統的麻煩,隨後有百度。在一個論壇中發現了這樣的解決辦法:

解決方法如下:
1、設定相容級別為90(2005為90)(2000為80)

USE [master]
GO
EXEC dbo.sp_dbcmptlevel @dbname='資料庫名', @new_cmptlevel=90
GO


或是選擇你還原的資料庫,點右鍵,選屬性->選項->相容級別,選擇sqlserver2005(90) 然後確定。(呵呵,我就是用這個方法解決的。呵呵

,小小的高興一下)
這時,你在該資料庫下展開“資料庫關係圖”節點時會有個提示,"此資料庫缺少一個或多個使用資料庫關係圖所需的支援物件,是否建立",選

擇“是”即可。

2、通過以上的方法操作,如果問題依然存在的話,按下列方法繼續
選擇你的資料庫,然後選擇"安全性"->"使用者",選擇dbo,開啟屬性頁,如登入名為空的話,新建查詢,然後

use [你的資料庫名]
EXEC sp_changedbowner 'sa'

執行成功後,你再選擇"資料庫關係圖"節點,時提示 “此資料庫缺少一個或多個使用資料庫關係圖所需的支援物件,是否建立",選擇“是”

即可。 就可以看到原先建的關係圖了。

呵呵。費了很大勁才完成,呵呵。原因可能是,原來的資料庫使用sql server2000建立的。把資料庫附加到2005上後,解析不了了。