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


Использование идентификаторов в качестве имен объектов

Полное имя объекта состоит из четырех идентификаторов: имени сервера, имени базы данных, имени схемы и имени объекта, которые отображаются в следующем формате:

имя_сервера**.[имя_базы_данных].[имя_схемы].**имя_объекта

| имя_базы_данных**.[имя_схемы].**имя_объекта

| имя_схемы**.**имя_объекта

| имя_объекта

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

  • имя_сервера**.имя_базы_данных.имя_схемы.**имя_объекта

  • имя_сервера**.имя_базы_данных..**имя_объекта

  • имя_сервера**..имя_схемы.**имя_объекта

  • имя_сервера**...**имя_объекта

  • имя_базы_данных**.имя_схемы.**имя_объекта

  • имя_базы_данных**..**имя_объекта

  • имя_схемы**.**имя_объекта

  • имя_объекта

Имя объекта, включающее все четыре части, называется полным именем. Каждый объект, создаваемый в Microsoft SQL Server, должен иметь уникальное полное имя. Например, в одной и той же базе данных может содержаться две таблицы с именем xyz, если они имеют различных владельцев.

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

Четырехсоставные имена обычно используются в распределенных запросах и удаленных вызовах хранимых процедур. Они используют следующий формат:

  • связанный_сервер**.каталог.схема.**имя_объекта

В следующей таблице приведены части имени и их описания.

Часть имени

Описание

связанный_сервер

Имя связанного сервера, содержащего объект, на который ссылается распределенный запрос.

каталог

Имя каталога, содержащего объект, на который ссылается распределенный запрос. При запросах к базе данных SQL Server каталогом является имя базы данных.

схема

Имя схемы, содержащей объект, на который ссылается распределенный запрос.

имя_объекта

Имя объекта или имя таблицы.

В распределенных запросах имя сервера в четырехсоставном имени соответствует связанному серверу. Связанный сервер — это имя сервера, которое определяется с помощью хранимой процедуры sp_addlinkedserver. Связанный сервер определяет поставщика OLE DB и источник данных OLE DB, который может возвратить набор записей, используемых Microsoft SQL Server в качестве части инструкции Transact-SQL.

Чтобы определить, какие компоненты источника данных OLE DB используются для имени каталога и имени схемы в полном имени, см. документацию к поставщику OLE DB, указанную для связанного сервера. Если на связанном сервере запущен экземпляр SQL Server, то именем каталога является база данных, содержащая объект, а именем схемы — владелец объекта. Дополнительные сведения о четырехсоставных именах и распределенных запросах см. в разделе Распределенные запросы.

В удаленных вызовах процедур имя сервера в четырехсоставном имени указывает на удаленный сервер. Удаленный сервер, заданный с помощью хранимой процедуры sp_addserver, является экземпляром SQL Server, доступ к которому осуществляется через локальный сервер. Выполняйте хранимые процедуры на удаленном сервере, используя следующий формат имени процедуры:

  • сервер**.база_данных.имя_схемы.**процедура

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

Ссылка на столбцы с использованием идентификаторов

Имена столбцов должны быть уникальны в пределах таблицы или представления. Можно использовать до трех префиксов для указания столбцов в запросе, обращающемся к таблицам, которые имеют столбцы с одним и тем же именем. Допустим любой из следующих форматов:

  • имя_базы_данных**.имя_схемы.имя_объекта.**имя_столбца

  • имя_базы_данных**..**имя_объекта.имя_столбца

  • имя_схемы.имя_объекта**.**имя_столбца

  • имя_объекта**.**имя_столбца

Обращение к свойствам столбцов определяемых пользователем типов

На свойства столбцов определяемых пользователем типов можно ссылаться, используя точку (.) в качестве разделителя между именем столбца и именем свойства. При обращении к именам свойств можно также обращаться к идентификаторам таблиц или представлений, но не к идентификаторам баз данных или схем. Допустимы следующие форматы:

  • имя_столбца**.имя_свойства1.**имя_свойства2[…]

  • имя_объекта**.имя_столбца.имя_свойства1.**имя_свойства2[…]