Поделиться через


Создание и изменение объектов базы данных и сервера

Объекты базы данных определяют структуру содержимого базы данных. Эти объекты содержатся в проекте базы данных и могут также включать планы создания данных и скрипты. Объекты сервера определяют объекты, которые имеются на сервере базы данных, но не включаются в базу данных, например, учетные данные, сертификаты или пользовательские сообщения об ошибках. Объекты сервера содержатся в проектах сервера.

В обозревателе решений определения объектов базы данных и сервера содержатся в файлах и группируются по типу в проекте базы данных или сервера. При работе с объектами базы данных и сервера можно обнаружить, что более интуитивным является использование представления схемы, в котором объекты группируются по типу. Файл в проекте базы данных анализируется на предмет содержания определения объекта базы данных, если он помечен в Build Type как Построение. Файлы проекта базы данных с другими значениями свойства Build Type не интерпретируются как содержащие объекты базы данных и не отображаются в представлении схемы.

Общие задачи

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

Задача

Справочные материалы

Практические упражнения. Выполнив указания вводных пошаговых руководств, можно получить общее представление о порядке создания проекта базы данных и его объектов и о порядке изменения этих объектов.

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

  • Определения объектов

  • Объекты в обозревателе решений и представлении схемы

  • Разрешение имени объекта

  • Ссылка на имя базы данных в определении объекта

  • Параметры SET уровня объекта

  • Проверка объектов

Описание зависимостей между объектами базы данных. Вы можете просматривать объекты, от которых зависит объект базы данных, и объекты, которые зависят от данного объекта.

Добавление объектов к проекту базы данных или сервера. Вы можете добавлять объекты к проекту базы данных или сервера с использованием любого из следующих методов:

  • Можно выполнить импорт объектов из скрипта или обновленной базы данных либо сервера.

  • Можно создать объекты в схеме по умолчанию или в определенной схеме.

  • Можно добавить файлы, содержащие определения объектов, к проекту.

  • Можно настроить параметры уровня объекта (параметры SET) после добавления объектов к проекту.

  • Можно задать разрешения для объектов базы данных.

Добавление специальных объектов к проекту базы данных или сервера. Чтобы добавить некоторые типы объектов к проекту, необходимо использовать несколько отличную процедуру непосредственно для данного типа объекта.

  • Можно определить параметры таблицы и индекса.

  • Можно добавить пользователя к роли.

  • Можно определить полнотекстовые каталоги.

  • Можно определить файловые группы и файлы.

Изменение объектов базы данных или сервера. Вы можете изменить определения объектов в проекте сервера или базы данных. Можно также изменить параметры SET уровня объекта для этих объектов.

Удаление объектов из проекта базы данных или сервера. Вы можете удалять объекты из проекта базы данных или сервера, чтобы удалить их окончательно. Можно также временно исключать объекты, которые все еще находятся в разработке.

Настройка шаблонов для объектов базы данных и сервера. Вы можете просматривать и изменять шаблоны, которые используются для создания объектов базы данных и сервера.

Устранение неполадок. Здесь можно получить дополнительные сведения об устранении типовых неполадок, связанных с базой данных и серверными проектами.

Определения объектов

Объекты базы данных и сервера определяются в коллекции SQL-файлов, хранящихся в папке проекта. Большинство объектов определены в отдельных файлах. Исключения включают столбцы таблицы и параметры хранимой процедуры или функции. Столбцы задаются в файле, содержащем определение таблицы, а параметры задаются в файле, содержащем хранимую процедуру или функцию.

Свойство Действие при построении SQL-файла указывает, будет ли выполняться его анализ для определения того, содержит ли он определение объекта базы данных. По умолчанию для файлов, содержащих определения объектов базы данных, задается установка Построение, а для других SQL-скриптов и прочих файлов — установка Не в построении. Свойство Действие при построении также определяет, включает ли скрипт построения файл.

Имя каждого объекта определяет имя его файла, а тип объекта — расширение имени файла по умолчанию. Например, функции находятся в файлах с именем имя_объекта.function.sql, а хранимые процедуры - в файлах с именем имя_объекта.proc.sql.

Объекты в обозревателе решений и представлении схемы

В обозревателе решений вы работаете с файлами, которые включаются в проект и которые содержат определения для объектов. Нельзя использовать переименование рефакторинга в обозревателе решений. Следует использовать обозреватель решений, если необходимо работать с файлами, например, вернуть проект в систему управления версиями.

В представлении схемы вы работаете с объектами базы данных. Представление схемы используется при работе с объектами, а не с файлами, содержащими их определения. Например, можно использовать представление схемы для создания объектов базы данных.

Разрешение имени объекта

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

Ссылка на имя базы данных в определении объекта

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

  • Необходимо заключать этот токен в квадратные скобки, как показано в следующем примере:

    [$(имяБазыДанных)]

  • Данный токен нельзя использовать для задания имени из трех частей, как в следующем примере:

    [$(имяБазыДанных)].[dbo].[Таблица1]

В следующем примере показано, как использовать маркер имени $(имяБазыДанных) в хранимой процедуре:

CREATE PROCEDURE [dbo].[MyProcedure]
@param1 INT = 0,
@param2 INT
AS
ALTER DATABASE [$(databasename)]
MODIFY FILEGROUP [FileGroup1] DEFAULT
RETURN 0

Параметры SET уровня объекта

В дополнение к параметрам SET, которые можно задавать для проекта базы данных, можно задать значения двух параметров для отдельных объектов базы данных. Это параметры «Пустые значения ANSI» и «Идентификатор в кавычках». По умолчанию параметры SET каждого объекта соответствуют параметрам SET проекта базы данных. Вы можете выбрать для этих двух параметров значения по умолчанию для проекта, "Включено" или "Выключено". При построении проекта базы данных только те параметры SET уровня объекта получают значения, отличные от умолчаний проекта, которые записаны в скрипте построения.

Примечание

При использовании команд "Импортировать скрипт" или "Импорт схемы базы данных" значения параметра SET не импортируются для отдельных объектов базы данных.Необходимо задать в окне Свойства.Дополнительные сведения см. в разделе Практическое руководство. Задание параметров SET на уровне объектов.

Проверка объектов

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

Примечание

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

Дополнительные сведения об устранении неполадок объектов базы данных см. в разделе Устранение неполадок проекта базы данных, построения и развертывания.

Связанные сценарии

См. также

Основные понятия

Построение и развертывание баз данных в тестовой или производственной среде

Построение и развертывание баз данных в изолированной среде разработки

Переименование всех ссылок на объект базы данных

Написание и изменение кода базы данных