Объекты поддержки диаграммы базы данных не могут быть установлены
Это довольно запутанно. Я получаю эту ошибку всякий раз, когда я пытаюсь добавить (или даже просмотреть) Диаграммы базы данных node в базе данных node в SQL Server Management Studio Express (SQL Server 2008):
Объекты поддержки диаграммы базы данных не могут быть установлены, поскольку в этой базе данных нет действительного владельца. Чтобы продолжить, сначала используйте страницу "Файлы" диалогового окна "Свойства базы данных" или оператор ALTER AUTHORIZATION, чтобы установить владельца базы данных на допустимый логин, а затем добавить объекты поддержки диаграммы базы данных.
Хорошо, отлично. Проблема в том, что, согласно Management Studio, мой логин является владельцем БД. Я использую проверку подлинности Windows при входе в Management Studio, и если я перейду на страницу "Файлы" в диалоговом окне "Свойства базы данных", мой логин будет владельцем.
Итак, я думаю, что, возможно, я не являюсь членом правильной роли сервера, чтобы фактически быть владельцем, однако мой логин является членом роли сервера sysadmin, который, согласно эта страница MDSN является преимуществом для владения базой данных.
Итак, наконец, я делаю некоторые поисковые запросы, и я вижу людей, которые мне говорят, чтобы попытаться выполнить такой оператор:
EXEC sp_dbcmptlevel 'yourDB', '90';
go
ALTER AUTHORIZATION ON DATABASE::yourDB TO "yourLogin"
go
use [yourDB]
go
EXECUTE AS USER = N'dbo' REVERT
go
Моя проблема заключается в том, что я действительно не понимаю, что делает этот код, и никакая попытка попробовать разные имена пользователей или имена баз данных с вышеуказанным оператором (который, как представляется, выполняется успешно), кажется, устраняет мою проблему.
Может ли кто-нибудь подумать о чем-нибудь, что я могу потерять?
Ответы
Ответ 1
Пробовал ли вы этот набор шагов, он может решить вашу проблему:
В SQL Server Management Studio выполните следующее:
- Щелкните правой кнопкой мыши на своей базе данных, выберите свойства
- Перейдите на страницу параметров
- В раскрывающемся списке справа с надписью "Уровень совместимости" выберите "SQL Сервер 2005 (90)"
- Перейдите на страницу с файлами
- Введите "sa" в текстовое поле владельца.
- Нажмите OK
Предполагая, что это работает, и вы можете добавить диаграммы БД, вы можете изменить владельца обратно на имя пользователя Windows.
Ответ 2
Просто попробуйте это.
Alter AUTHORIZATION ON DATABASE::YourDbName TO [sa];
Ответ 3
Это будет работать;
АЛЬТЕРНАТИВНАЯ АВТОРИЗАЦИЯ В БАЗЕ ДАННЫХ:: yourDB TO NT AUTHORITY\SYSTEM
Но это только для решения temp.. по любой причине, если вам нужно восстановить БД, тогда проблема будет присутствовать..
Ответ 4
Ну, какое-то время я попытался сделать несколько вещей, и ничего не получилось. После этого я внимательно прочитал ошибку, и я понял, что решение было предложено только при ошибке. Мне просто нужно внимательно его прочитать.
Ниже приведены шаги, которые я сделал для выполнения этой работы:
ALTER AUTHORIZATION ON DATABASE::YourDatabaseName TO sa
GO
ИЛИ
- Выберите свою базу данных > Щелкните правой кнопкой мыши > Выбрать свойства
- Выберите FILE в левой части страницы
- В поле OWNER выберите кнопку с тремя точками (...) в ней
- Теперь выберите пользователя или NT AUTHORITY\SYSTEM и нажмите OK.
Ответ 5
Это сработало для меня
ALTER AUTHORIZATION ON DATABASE ::DATABASE TO sa