sqlserver 此數(shù)據(jù)庫沒有有效所有者錯誤的解決方法
更新時間:2010年04月14日 14:27:53 作者:
此數(shù)據(jù)庫沒有有效所有者,因此無法安裝數(shù)據(jù)庫關系圖支持對象。若要繼續(xù),請首先使用“數(shù)據(jù)庫屬性”對話框的“文件”頁或Alter AUTHORIZATION語句將數(shù)據(jù)庫所有者設置為有效登錄名,然后再添加數(shù)據(jù)庫關系圖支持對象。
某一天,在調(diào)試程序時突然發(fā)現(xiàn),在附加數(shù)據(jù)庫后,想添加關系表,結(jié)果出來了下面的錯誤:
此數(shù)據(jù)庫沒有有效所有者,因此無法安裝數(shù)據(jù)庫關系圖支持對象。若要繼續(xù),請首先使用“數(shù)據(jù)庫屬性”對話框的“文件”頁或Alter AUTHORIZATION語句將數(shù)據(jù)庫所有者設置為有效登錄名,然后再添加數(shù)據(jù)庫關系圖支持對象。
按照第一種方式更改怎么也不行,并且文件的所有者也是sa。在csdn中找了半天,有個同志給出了第二種解法,使用ssms。具體在SSMS中運行以下命令:
Alter AUTHORIZATION ON database::mydbname TO sa
把mydbname修改為實際的數(shù)據(jù)庫名稱,就可以把所有者設置為sa了。
經(jīng)過一番努力也沒找到ssms[呵呵,我在新建查詢里執(zhí)行成功,但沒解決問題],哎。這個也泡湯了。心中有了重新格系統(tǒng)的想法。
想象一下格系統(tǒng)的麻煩,隨后有百度。在一個論壇中發(fā)現(xiàn)了這樣的解決辦法:
解決方法如下:
1、設置兼容級別為90(2005為90)(2000為80)
USE [master]
GO
EXEC dbo.sp_dbcmptlevel @dbname='數(shù)據(jù)庫名', @new_cmptlevel=90
GO
[這條命令執(zhí)行完畢:報“DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系”,不管它哦,接下來點擊“數(shù)據(jù)庫關系圖”,報“此數(shù)據(jù)庫缺少一個或多個使用數(shù)據(jù)庫關系圖所需的支持對象,是否創(chuàng)建”,選擇“是”,問題解決了]
或是選擇你還原的數(shù)據(jù)庫,點右鍵,選屬性->選項->兼容級別,選擇sqlserver2005(90) 然后確定。(呵呵,我就是用這個方法解決的。呵呵,小小的高興一下)
這時,你在該數(shù)據(jù)庫下展開“數(shù)據(jù)庫關系圖”節(jié)點時會有個提示,"此數(shù)據(jù)庫缺少一個或多個使用數(shù)據(jù)庫關系圖所需的支持對象,是否創(chuàng)建",選擇“是”即可。
2、通過以上的方法操作,如果問題依然存在的話,按下列方法繼續(xù)
選擇你的數(shù)據(jù)庫,然后選擇"安全性"->"用戶",選擇dbo,打開屬性頁,如登錄名為空的話,新建查詢,然后
use [你的數(shù)據(jù)庫名]
EXEC sp_changedbowner 'sa'
執(zhí)行成功后,你再選擇"數(shù)據(jù)庫關系圖"節(jié)點,時提示 “此數(shù)據(jù)庫缺少一個或多個使用數(shù)據(jù)庫關系圖所需的支持對象,是否創(chuàng)建",選擇“是”即可。 就可以看到原先建的關系圖了。
呵呵。費了很大勁才完成,呵呵。原因可能是,原來的數(shù)據(jù)庫使用sql server2000創(chuàng)建的。把數(shù)據(jù)庫附加到2005上后,解析不了了。
此數(shù)據(jù)庫沒有有效所有者,因此無法安裝數(shù)據(jù)庫關系圖支持對象。若要繼續(xù),請首先使用“數(shù)據(jù)庫屬性”對話框的“文件”頁或Alter AUTHORIZATION語句將數(shù)據(jù)庫所有者設置為有效登錄名,然后再添加數(shù)據(jù)庫關系圖支持對象。
按照第一種方式更改怎么也不行,并且文件的所有者也是sa。在csdn中找了半天,有個同志給出了第二種解法,使用ssms。具體在SSMS中運行以下命令:
Alter AUTHORIZATION ON database::mydbname TO sa
把mydbname修改為實際的數(shù)據(jù)庫名稱,就可以把所有者設置為sa了。
經(jīng)過一番努力也沒找到ssms[呵呵,我在新建查詢里執(zhí)行成功,但沒解決問題],哎。這個也泡湯了。心中有了重新格系統(tǒng)的想法。
想象一下格系統(tǒng)的麻煩,隨后有百度。在一個論壇中發(fā)現(xiàn)了這樣的解決辦法:
解決方法如下:
1、設置兼容級別為90(2005為90)(2000為80)
USE [master]
GO
EXEC dbo.sp_dbcmptlevel @dbname='數(shù)據(jù)庫名', @new_cmptlevel=90
GO
[這條命令執(zhí)行完畢:報“DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系”,不管它哦,接下來點擊“數(shù)據(jù)庫關系圖”,報“此數(shù)據(jù)庫缺少一個或多個使用數(shù)據(jù)庫關系圖所需的支持對象,是否創(chuàng)建”,選擇“是”,問題解決了]
或是選擇你還原的數(shù)據(jù)庫,點右鍵,選屬性->選項->兼容級別,選擇sqlserver2005(90) 然后確定。(呵呵,我就是用這個方法解決的。呵呵,小小的高興一下)
這時,你在該數(shù)據(jù)庫下展開“數(shù)據(jù)庫關系圖”節(jié)點時會有個提示,"此數(shù)據(jù)庫缺少一個或多個使用數(shù)據(jù)庫關系圖所需的支持對象,是否創(chuàng)建",選擇“是”即可。
2、通過以上的方法操作,如果問題依然存在的話,按下列方法繼續(xù)
選擇你的數(shù)據(jù)庫,然后選擇"安全性"->"用戶",選擇dbo,打開屬性頁,如登錄名為空的話,新建查詢,然后
use [你的數(shù)據(jù)庫名]
EXEC sp_changedbowner 'sa'
執(zhí)行成功后,你再選擇"數(shù)據(jù)庫關系圖"節(jié)點,時提示 “此數(shù)據(jù)庫缺少一個或多個使用數(shù)據(jù)庫關系圖所需的支持對象,是否創(chuàng)建",選擇“是”即可。 就可以看到原先建的關系圖了。
呵呵。費了很大勁才完成,呵呵。原因可能是,原來的數(shù)據(jù)庫使用sql server2000創(chuàng)建的。把數(shù)據(jù)庫附加到2005上后,解析不了了。
相關文章
SQL Server 復制需要有實際的服務器名稱才能連接到服務器
今天在做sql Server 2005的實驗的時候碰到的問題,問題描述很清楚,懷疑是我以前給計算機修改了名稱而導致的.可以用select @@servername和select serverproperty ('servername')對照一下,兩個的結(jié)果是否一樣2012-06-06
order by newid() 各種數(shù)據(jù)庫隨機查詢的方法
order by newid() 各種數(shù)據(jù)庫隨機查詢的方法,需要的朋友可以參考一下2013-04-04
安裝sqlserver2022提示缺少msodbcsql.msi錯誤消息的解決
本文主要介紹了安裝sqlserver2022提示缺少msodbcsql.msi錯誤消息,msoledbsql.msi文件是Microsoft OLE DB Provider for SQL Server的安裝文件,下面就來介紹一下解決方法2024-05-05
數(shù)據(jù)庫性能優(yōu)化二:數(shù)據(jù)庫表優(yōu)化提升性能
數(shù)據(jù)庫表優(yōu)化包括:設計規(guī)范化表、消除數(shù)據(jù)冗余、適當?shù)娜哂?、增加計算列、索引、主鍵和外鍵的必要性等等,需要了解的朋友可以參考下2013-01-01
談談sqlserver自定義函數(shù)與存儲過程的區(qū)別
這篇文章主要介紹了談談sqlserver自定義函數(shù)與存儲過程的區(qū)別,需要的朋友可以參考下2014-09-09
SQL Server數(shù)據(jù)庫bcp導出備份文件應用示例
本節(jié)主要介紹了SQL Server數(shù)據(jù)庫bcp導出備份文件應用,需要的朋友可以參考下2014-08-08

