天天看點

資料庫關系圖”提示:此資料庫沒有有效所有者

sql2000備份的資料庫還原到sql2005後,選擇“資料庫關系圖”提示:此資料庫沒有有效所有者,是以無法安裝資料庫關系圖支援對象"的解決方法

sql2000備份的資料庫還原到sql2005後,選擇“資料庫關系圖”提示:此資料庫沒有有效所有者,是以無法安裝資料庫關系圖支援對象。若要繼續,請首先使用“資料庫屬性”對話框的“檔案”頁或   ALTER   AUTHORIZATION   語句将資料庫所有者設定為有效登入名,然後再添加資料庫關系圖支援對象。  

解決方法如下:

1、設定相容級别為90(2005為90)  

USE   [master]  

GO  

EXEC   dbo.sp_dbcmptlevel   @dbname='資料庫名',   @new_cmptlevel=90  

GO   

或是選責你還原的資料庫,點右鍵,選屬性->選項->相容級别,選擇sqlserver2005(90) 然後确定,

       這時,你在該資料庫下展開“資料庫關系圖”節點時會有個提示,"此資料庫缺少一個或多個使用資料庫關系圖所需的支援對象,是否建立",選擇“是”即可。

2、通過以上的方法操作,如果問題依然存在的話,按下列方法繼續

選擇你的資料庫,然後選擇"安全性"->"使用者",選擇dbo,打開屬性頁,如登入名為空的話,建立查詢,然後

use [你的資料庫名]

EXEC    sp_changedbowner    'sa'  

執行成功後,你再選擇"資料庫關系圖"節點,時提示 “此資料庫缺少一個或多個使用資料庫關系圖所需的支援對象,是否建立",選擇“是”即可。 就可以看到原先建的關系圖了。

3.通常前兩步就可解決問題了,第三種方法使用ALTER指令來做。

異常:此資料庫沒有有效所有者,是以無法安裝資料庫關系圖支援對象。當把從其它機器備份出來的資料庫,還原到自己的機器上後,在SSMS中點選這個資料庫的資料庫關系圖時,出現了以下提示:

此資料庫沒有有效所有者,是以無法安裝資料庫關系圖支援對象。若要繼續,請首先使用“資料庫屬性”對話框的“檔案”頁或ALTER AUTHORIZATION語句将資料庫所有者設定為有效登入名,然後再添加資料庫關系圖支援對象。

資料庫中确定是有資料庫關系圖的。提示給出了兩種方法,第一種試了幾次都不好用,第二種方法倒是一次成功,具體在SSMS中運作以下指令:

ALTER AUTHORIZATION ON database::mydbname TO sa

把mydbname修改為實際的資料庫名稱,就可以把所有者設定為sa了。

關于ALTER AUTHORIZATION的詳細參數,可以參考以下位址:

<a href="http://msdn2.microsoft.com/zh-cn/library/ms187359.aspx" target="_blank">http://msdn2.microsoft.com/zh-cn/library/ms187359.aspx</a>