Skip to content

Объекты поддержки диаграмм базы данных SQL Server Management Studio не могут быть установлены

Sergey Grigoyan. SQL Server Management Studio Database Diagram Support Objects Cannot be Installed


Проблема


Иногда необходимо нереименовать машину хоста после установки SQL Server. После изменения имени хоста и выполнения связанных с этим изменений мы можем успешно подключаться с новым именем и без проблем работать с SQL Server. Однако возможна скрытая проблема, с которой вы можете столкнуться при создании диаграммы базы данных. Ниже показано сообщение об ошибке, которое вы можете получить и в котором говорится, что невозможно создать диаграмму базы данных, т.к. у базы данных отсутствует допустимый владелец.


В этой статье мы собираемся воспроизвести проблему и объяснить, как исправить ситуацию с сообщением об ошибке: "Объекты поддержки диаграмм базы данных не могут быть установлены, так как у базы данных отсутствует допустимый владелец."

Решение


Предположим, что у нас на машине установлен SQL Server, после чего мы переименовали компьютер хоста с MYPC" на "DBSERVER1". В нашем примере у нас есть дефолтный экземпляр SQL Server и, как говорилось, новое имя сервера для подключения - "DBSERVER1". Если мы попытаемся создать диаграмму базы данных, например, для TestDB, то получим следующее сообщение:



Т.е. диаграмма не может быть создана, поскольку база данных не имеет допустимого владельца. Поэтому давайте проверим, кто является владельцем базы данных. Для этого щелкнем правой кнопкой на базе данных и выберем "Properties" (свойства):



Когда откроется окно свойств базы данных, на вкладке данные мы можем увидеть владельца, которым является пользователь "MYPC\Administrator":



Мы можем найти соответствующий логин, используя ветку "Security" > "Logins". Тут мы можем обнаружить логин "MYPC\Administrator" и, если открыть его свойства, то можем увидеть, что он имеет членство в роли "db_owner" (владелец БД) для TestDB.



Мы уже знаем, что имя компьютера не "MYPC" и, следовательно, у нас не должно быть такого пользователя. В свойствах компьютера мы можем еще раз это проверить и подтвердить, что компьютер имеет новое имя - "DBSERVER1":



Кроме того, когда мы подключаемся к экземпляру SQL Server, мы указываем новое имя сервера и используем "DBSERVER1\Administrator" в качестве логина Windows:



Можно догадаться, что "MYPC\Administrator" стало неверным именем для логина. Следовательно, нужно изменить его на правильное имя "DBSERVER1\Administrator". Мы можем сделать это, щелкнув правой кнопкой на логине и выбрав команду "Rename" (переименовать):



Теперь, после набора нового имени логина, мы можем увидеть логин "DBSERVER1\Administrator" в нашем списке логинов:



Если сейчас открыть свойства базы данных TestDB, то мы увидим, что имя владельца автоматически поменялось:



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

Если повторить создание диаграммы базы данных, то мы уже не получим предыдущего сообщения об ошибке, и появится окно создания диаграммы:



Теперь мы можем успешно создать и сохранить диаграмму базы данных:



Таким образом, наша проблема легко разрешилась изменением унаследованного имени на логин Windows, который является владельцем базы данных в соответствии с новым именем компьютера хоста.

Заключение


Если владельцем базы данных является логин, имя которого стало неверным после переименования компьютера хоста, это может вызвать некоторые проблемы. Невозможность создания диаграммы базы данных является одним из примеров. Таким образом, если компьютер переименовывается после установки на нем SQL Server, наряду с другими связанными изменениями важно также переименовать соответствующие логины, которые использовали предыдущее имя компьютера.
Категории: T-SQL

Обратные ссылки

Нет обратных ссылок

Комментарии

Показывать комментарии Как список | Древовидной структурой

Нет комментариев.

Автор не разрешил комментировать эту запись

Добавить комментарий

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Form options

Добавленные комментарии должны будут пройти модерацию прежде, чем будут показаны.