2009-04-20 71 views
42

當我無意中點擊數據庫圖表選項卡上,我收到以下錯誤之一: 不能安裝,因爲這 數據庫沒有有效所有者如何更改SQL Server數據庫的所有者?

數據庫關係圖支持對象。 要繼續,首先使用數據庫屬性對話框 或ALTER AUTHORIZATION語句 的 的文件頁面數據庫所有者設置爲有效 登錄,然後添加數據庫關係圖 支持對象。

---或---

的數據庫不具有一個或多個 使用 數據庫圖表所需的支持對象。你是否希望 創建它們?

將此數據庫的所有者更改爲'sa'的語法是什麼?

+0

我不明白爲什麼你認爲這有什麼關係所有者所有者的方法嗎?它只是想知道它是否應該創建對象來使圖表成爲可能。 – 2009-04-20 18:15:58

+0

如果我更改所有者,則不會提示您創建對象。我不確定他們之後是否會自動創建。 – 2009-04-20 18:28:00

回答

68

改變對象所有者嘗試以下

EXEC sp_changedbowner 'sa' 

那不過是不是你的問題,看看達芬奇Tools對象已經被創建(你會看到與DT_開始表和特效)圖之後

+4

按照BOL:此功能將在未來版本的Microsoft SQL Server中刪除。避免在新開發工作中使用此功能,並計劃修改當前使用此功能的應用程序。改爲使用ALTER AUTHORIZATION。 https://msdn.microsoft.com/en-us/library/ms178630(v=sql.110).aspx – 2015-04-27 12:31:08

3

這是一個提示,用於創建一堆不存在的對象,如sp_help_diagram(?)。

這應該與db的所有者無關。

+1

你能解釋爲什麼在我更換主人後不再提示我這麼做嗎?對象是自動創建還是SQL Server停止詢問我是因爲我的帳戶不再是所有者? – 2009-04-20 18:29:47

+0

在這種情況下,數據庫由已被刪除的登錄所擁有。我不確定爲什麼,因爲「sa」擁有我們所有的數據庫。 – gbn 2009-04-21 03:50:43

62

要更改數據庫所有者:

ALTER AUTHORIZATION ON DATABASE::YourDatabaseName TO sa 

與SQL Server 2014,你仍然可以使用sp_changedbowner爲好,儘管微軟承諾在SQL Server 2012之後的「未來」版本中將其刪除。但是,它們將其從SQL Server 2014 BOL中刪除。

0

這裏是改變所有DBS(不含系統)

EXEC sp_msforeachdb' 
USE [?] 
IF ''?'' <> ''master'' AND ''?'' <> ''model'' AND ''?'' <> ''msdb'' AND ''?'' <> ''tempdb'' 
BEGIN 
exec sp_changedbowner ''sa'' 
END 
' 
相關問題