Объекты поддержки диаграммы базы данных не могут быть установлены ... нет действительного владельца - PullRequest
128 голосов
/ 11 января 2010

Я попытался создать диаграмму базы данных с SQL Server 2008, но произошла ошибка:

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

Тогда я попробовал следующее:

EXEC sp_dbcmptlevel 'Ariha', '90';
GO
ALTER AUTHORIZATION ON DATABASE::Ariha TO [WIN-NDKPHUPPNFL\Administrator]
GO
USE Ariha
GO
EXECUTE AS USER = N'dbo' REVERT
GO

Следующая ошибка появляется:

Сообщение 15404, уровень 16, состояние 11, строка 1 Не удалось получить информацию о Windows NT группа / пользователь «WIN-NDKPHUPPNFL \ Администратор», ошибка код 0x534.

Проблема в том, что имя ПК изменилось на "DevPC". Я также изменил это в скрипте обновления, но все равно та же ошибка 15404.

Что я могу сделать, чтобы исправить эту досадную ошибку?

Ответы [ 14 ]

0 голосов
/ 05 мая 2015

1.Нажмите правой кнопкой мыши на вашей базе данных, 2. Затем выберите свойства. 3.Выберите опцию в уровнях совместимости выберите sql 2008 [100], если вы работаете с Microsoft sql 2008.

4. Затем выберите файл и напишите (sa) в текстовом поле владельца

У меня работает 100%.

0 голосов
/ 26 апреля 2015

щелкните правой кнопкой мыши на вашей базе данных, затем выберите свойства. выберите опцию в уровнях совместимости, выберите sql 2005 [90] вместо 2008, если вы работаете с Microsoft sql 2008. затем выберите файл и напишите (sa) в текстовом поле владельца. это будет работать, вероятно,

0 голосов
/ 07 марта 2015

Я только что испытал это. Я прочитал предложения на этой странице, а также предложения SQL Authority (что одно и то же), и ничего из вышеперечисленного не сработало.

В итоге я удалил аккаунт и воссоздал (с тем же именем пользователя / паролем). Просто так все проблемы ушли.

К сожалению, это означает, что я не знаю, что пошло не так, поэтому я не могу поделиться ничем другим.

0 голосов
/ 17 апреля 2013

Реальная проблема заключается в том, что владелец по умолчанию (dbo) вообще не имеет имени, привязанного к нему. Когда я попытался сопоставить имя входа sa с владельцем базы данных, я получил еще одну ошибку, в которой было указано «Пользователь, группа или роль». 'dbo' уже существует ... ". Однако, если вы попробуете этот код, он на самом деле будет работать:

EXEC sp_dbcmptlevel 'yourDB', '90';

1007 * идти *

ИЗМЕНЕНИЕ РАЗРЕШЕНИЯ НА БАЗУ ДАННЫХ :: yourDB TO "yourLogin"

1011 * идти *

использовать [yourDB]

идти

ВЫПОЛНИТЬ КАК ПОЛЬЗОВАТЕЛЬ = N'dbo 'REVERT

1019 * идти *

...