SQL-Ex blog

Объекты поддержки диаграмм базы данных SQL Server Management Studio не могут быть установлены
Добавил Sergey Moiseenko on Среда, 24 марта. 2021
Проблема
Иногда необходимо нереименовать машину хоста после установки 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, наряду с другими связанными изменениями важно также переименовать соответствующие логины, которые использовали предыдущее имя компьютера.
Обратные ссылки
Нет обратных ссылок
Комментарии
Показывать комментарии Как список | Древовидной структурой
Автор не разрешил комментировать эту запись
Создание новой диаграммы базы данных (визуальные инструменты для баз данных)
Для создания новых диаграмм баз данных можно использовать обозреватель объектов. Диаграммы базы данных графически изображают структуру баз данных. При помощи диаграмм баз данных можно создавать и изменять таблицы, столбцы, связи и ключи. Кроме того, можно изменять индексы и ограничения.
Для создания новой диаграммы базы данных
- В обозревателе объектов щелкните правой кнопкой мыши папку Диаграммы баз данных или любую диаграмму в этой папке.
- Выберите в контекстном меню элемент Создать диаграмму базы данных . Отображается диалоговое окно Добавление таблицы .
- Выберите нужные таблицы из списка Таблицы и щелкните Добавить. Эти таблицы отобразятся в графическом виде на новой диаграмме базы данных.
Продолжайте добавлять и удалять таблицы, изменять существующие таблицы и изменять связи между таблицами до завершения новой диаграммы базы данных.
См. также:
Обратная связь
Были ли сведения на этой странице полезными?
Создание диаграммы классов по базе данных
Flexberry Designer позволяет создавать диаграммы классов по базе данных для:
- MS SQL Server,
- ORACLE,
- PostgreSQL.
Применение данной функции будет проиллюстрировано на примере БД MS SQL Server. Для Oracle и Postgre SQL операция выполняется аналогично с выбором пунктов меню, соответствующих СУБД.
Использование
Для того чтобы создать диаграммы по базе данных следует:
- Создать новую Стадию.
- Выделить Стадию, зайти в ORM -> SQL, указать путь к базе данных.
- Создать новый System в этой Стадии.
- Выделить System, выбрать в меню ORM -> Построить диаграммы по БД -> Microsoft SQL Server.

- Дождаться выполнения операции.
Note: При создании диаграмм по базе данных все детейловые связи будут интерпретироваться как Ассоциации 1 — * (это связано с тем, что на уровне БД нет разницы между мастеровыми и детейловыми связями).
При создании диаграммы стандартным образом обрабатываются типы параметров, которые были указанны по умолчанию в карте типов SQL.
Например: тип VARCHAR(255) есть по умолчанию в карте типов SQL, поэтому будет преобразован на диаграмме классов в string . Однако в этой карте нет типа VARCHAR(25) , поэтому будет создан typedef VARCHAR25 , который в карте типов SQL будет замаппирован на VARCHAR(25) , а в карте генератора C#-кода — на string .
Также для особой обработки типов параметров возможно добавить их в соответствующие карты типов C# и SQL перед созданием диаграммы классов по БД.”
Пример создания диаграммы классов по базе данных
- Создать диаграмму классов, на основе которой будет создана база:

- Выделить стадию и указать путь к базе данных (в данном случае будет использоваться база с именем A-Test-DB).
- Сгенерировать скрипт изменения базы данных:

и применить его на A-Test-DB.
- Создать стадию для генерации диаграммы классов по базе данных, указать путь к базе A-Test-DB.
- Создать объект System.
- Выделить объект System и сгенерировать диаграмму:

- Проверить результат: должны быть созданы 4 диаграммы классов
Пошаговое руководство. Добавление и изменение диаграммы базы данных
Это пошаговое руководство показывает, как создавать и изменять диаграмму базы данных и производить изменения в базе данных с помощью компонента диаграмм базы данных. Рассматривается добавление таблиц в диаграммы, создание связей между таблицами, создание ограничений и индексов столбцов и изменение уровня сведений, видимых для каждой таблицы.
Предварительные требования
Для выполнения данного пошагового руководства требуется:
- Доступ к SQL Server с AdventureWorks2022 помощью примера базы данных
- Учетная запись с правами владельца базы данных dbo
При попытке сделать изменения с использованием учетной записи, разрешения которой недостаточны для внесения изменений в таблицы, появляется сообщение об ошибке.
Создание диаграммы
Для создания новой диаграммы базы данных
- В меню Вид выберите Обозреватель объектов.
- Откройте узел «Базы данных», а затем узел AdventureWorks2022 .
- Щелкните правой кнопкой узел «Диаграммы баз данных» и выберите Создать диаграмму базы данных. Если в базе данных отсутствуют объекты, необходимые для создания диаграмм, появляется следующее сообщение: Для этой базы данных отсутствует один или несколько объектов поддержки, необходимых для использования функции построения диаграмм баз данных. Создать их? Выберите Да. Отображается диалоговое окно Добавление таблицы .
- Выберите таблицы AddressType (Person) и Address (Person) и нажмите кнопку Добавить. В диаграмму будут добавлены две таблицы.
- Закройте диалоговое окно Добавление таблицы .
Просмотр данных другого столбца
- Щелкните правой кнопкой мыши таблицу Address . В контекстном меню выберите Вид таблицыи выберите Стандартный. Сетка таблицы отображает три столбца: Имя столбца, Тип данныхи Разрешить значения NULL.
- Щелкните правой кнопкой мыши таблицу Address , выберите Вид таблицы и Ключи. Сетка таблицы отображает один столбец, содержащий имена столбцов таблицы. Появятся только столбцы, которые участвуют в индексах.
Создание новых таблиц
Создание таблиц в конструкторе диаграмм
- Щелкните правой кнопкой мыши конструктор диаграмм вне существующих таблиц и выберите Создать таблицу.
- В диалоговом окне Выбор имени нажмите кнопку ОК , чтобы принять имя Table1, используемое по умолчанию. Появится новая сетка таблицы с тремя столбцами: Имя столбца, Тип данныхи Разрешить значения NULL.
- Добавьте следующие данные в таблицу Table1:
| Имя столбца | Тип данных | Разрешить значения NULL |
|---|---|---|
| T1col1 | int | checked |
| T1col2 | varchar(50) | checked |
| T1col3 | float | checked |
Изменение структуры таблицы
В конструкторе диаграмм можно добавить проверочные ограничения и создать связи между таблицами.
Создание проверочных ограничений
- В Table1 щелкните правой кнопкой мыши строку T1col3 и выберите Проверочные ограничения. Будет открыто диалоговое окно Проверочные ограничения .
- Нажмите кнопку Добавить. В списке Выбранные проверочные ограничения появится новое проверочное ограничение с именем по умолчанию CK_Table1 .
- Выберите строку Выражение в сетке и нажмите кнопку с многоточием. Будет открыто диалоговое окно Выражение проверочного ограничения.
- Введите T1col3> 5 и нажмите кнопку ОК. Table1 содержит теперь ограничение, согласно которому все значения столбца T1col3 должны быть больше 5.
- Щелкните Закрыть.
Создание связей между таблицами
- В конструкторе диаграмм создайте новую таблицу Table2 со следующими столбцами.
| Имя столбца | Тип данных | Разрешить значения NULL |
|---|---|---|
| T2col1 | int | не включен |
| T2col2 | varchar(50) | checked |
| T2col3 | xml | checked |
Примечание Столбцы на стороне первичного ключа связи внешнего ключа должны быть включены в первичный ключ или в ограничение уникальности.
Создание индексов
Индексы можно создавать на большинстве типов данных, включая XML.
Создание стандартного индекса
- Щелкните правой кнопкой мыши Table1 и выберите Индексы/Ключи. Открывается диалоговое окно Индексы/Ключи .
- Нажмите кнопку Добавить. Новый индекс появится в списке Выбранный первичный (уникальный) ключ или индекс с именем по умолчанию, подобным IX_Table1 .
- Выберите строку Столбцы и нажмите кнопку с многоточием. Отображается диалоговое окно Столбцы индекса .
- Щелкните стрелку раскрывающегося списка под полем Имя столбца и выберите T1col2 .
Примечание В индекс можно добавить дополнительные столбцы, выбрав ячейку под T1col2 и выбрав другое имя столбца.
Создание XML-индекса
- Щелкните правой кнопкой мыши T2col1 и выберите команду Задать первичный ключ.
Примечание Чтобы добавить XML-индекс, необходимо, чтобы другой столбец в таблице был установлен в качестве кластеризованного первичного ключа таблицы.
Примечание XML-индексы создаются для каждого столбца. Первый индекс XML-столбца является первичным, все дополнительные XML-индексы являются вторичными.
Сохранение диаграммы
Все изменения в диаграмме не будут отправлены в базу данных до тех пор, пока диаграмма не будет сохранена. В случае возникновения проблем и конфликтов появляется диалоговое окно, содержащее дополнительные сведения.
Сохранение диаграммы базы данных
- В меню Файл выберите команду Сохранить Diagram1. Отображается диалоговое окно Сохранить . Если установлен флажок Предупреждать о затронутых таблицах , перечисляются сведения о новых и измененных таблицах.
- Нажмите кнопку ОК.
- В случае ошибок открывается диалоговое окно Уведомления после сохранения , содержащее ошибки и их причины. Исправьте ошибки и сохраните диаграмму снова.
Next Steps
Это базовая диаграмма, содержащая только две существующие и две новые таблицы, но она иллюстрирует возможность создания схемы существующей базы данных или визуального создания новой схемы. Для лучшего изучения можно предложить следующее:
- создать новые диаграммы, содержащие группы связанных таблиц;
- настроить объем данных, отображаемых в каждой таблице;
- изменить разметку и добавить заметки;
- скопировать диаграмму в битовую карту.