Подтвердить что ты не робот

Как изменить владельца базы данных SQL Server?

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

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

--- или ---

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

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

4b9b3361

Ответ 1

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

EXEC sp_changedbowner 'sa'

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

Ответ 2

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

ALTER AUTHORIZATION ON DATABASE::YourDatabaseName TO sa

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

Ответ 3

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

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

Ответ 4

Вот способ изменения владельца на ALL DBS (исключая Систему)

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