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

Это довольно странно. Я получаю эту ошибку всякий раз, когда пытаюсь добавить (или даже просмотреть) узел Диаграммы базы данных в узле базы данных в 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

Моя проблема в том, что я не совсем понимаю, что делает этот код, и никакие попытки использовать разные имена пользователей или имена баз данных с помощью приведенного выше оператора (который, кажется, выполняется успешно), похоже, не решают мою проблему.

Кто-нибудь может подумать о чем-то, чего мне не хватает?

Ответы [ 3 ]

26 голосов
/ 05 ноября 2010

Вы пробовали этот набор шагов, это может решить вашу проблему:

В SQL Server Management Studio выполните следующее:

  1. Щелкните правой кнопкой мыши по своей базе данных, выберите свойства
  2. Перейти на страницу параметров
  3. В выпадающем меню справа под названием «Уровень совместимости» выберите «SQL». Сервер 2005 (90) "
  4. Перейти на страницу файлов
  5. Введите "sa" в текстовое поле владельца.
  6. Хит ОК

Предполагая, что это работает, и вы можете добавлять диаграммы БД, вы можете затем изменить владельца на свое имя пользователя Windows.

2 голосов
/ 17 июня 2015

Просто попробуйте это.

Alter AUTHORIZATION ON DATABASE::YourDbName TO [sa];
0 голосов
/ 06 января 2014

Это будет работать;

ИЗМЕНИТЬ АВТОРИЗАЦИЮ НА БАЗЕ ДАННЫХ :: yourDB TO NT AUTHORITY \ SYSTEM

Но это только для временного решения, по любой причине, если вам нужно восстановить БДтогда проблема будет присутствовать ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...