Как изменить владельца базы данных SQL Server? - PullRequest
55 голосов
/ 20 апреля 2009

Когда я случайно нажимаю на вкладку Диаграммы базы данных, я получаю одну из следующих ошибок:

Объекты поддержки диаграммы базы данных не может быть установлен, потому что это База данных не имеет действительного владельца. Чтобы продолжить, сначала используйте страницу Файлы диалогового окна Свойства базы данных или оператор ALTER AUTHORIZATION установить для владельца базы данных действительный войдите, затем добавьте диаграмму базы данных вспомогательные объекты.

--- или ---

В базе данных нет ни одного, ни нескольких объектов поддержки, необходимых для использования построение диаграмм базы данных. Вы хотите создать их?

Каков синтаксис для смены владельца этой базы данных на 'sa'?

Ответы [ 4 ]

86 голосов
/ 20 апреля 2009

чтобы сменить владельца объекта попробуйте следующее

EXEC sp_changedbowner 'sa'

это, однако, не ваша проблема, чтобы увидеть диаграммы, после которых должны быть созданы объекты Da Vinci Tools (вы увидите таблицы и процы, начинающиеся с dt_) после этого

80 голосов
/ 09 июля 2014

Чтобы изменить владельца базы данных:

ALTER AUTHORIZATION ON DATABASE::YourDatabaseName TO sa

Начиная с SQL Server 2014, вы все еще можете использовать sp_changedbowner, даже несмотря на то, что Microsoft обещала удалить его в «будущей» версии после SQL Server 2012. Однако они удалили его из BOL для SQL Server 2014.

4 голосов
/ 20 апреля 2009

Это приглашение создать группу объектов, таких как sp_help_diagram (?), Которые не существуют.

Это не должно иметь ничего общего с владельцем БД.

0 голосов
/ 28 апреля 2016

Вот способ сменить владельца на ВСЕХ БД (кроме системы)

EXEC sp_msforeachdb'
USE [?]
IF ''?'' <> ''master'' AND ''?'' <> ''model'' AND ''?'' <> ''msdb'' AND ''?'' <> ''tempdb''
BEGIN
 exec sp_changedbowner ''sa''
END
'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...