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

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

[ [ [ server. ] [ database ] . ] [ schema_name ] . ] object_name

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

  • server.database.schema_name.object_name
  • server.database..object_name
  • server..schema_name.object_name
  • server...object_name
  • database.schema_name.object_name
  • database..object_name
  • schema_name.object_name
  • object_name

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

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

linkedserver.catalog.schema.object_name

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

Часть имени Описание

linkedserver

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

catalog

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

schema

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

object_name

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

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

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

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

server.database.schema_name.procedure

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

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

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

database_name.schema_name.object_name.column_name
database_name..object_name.column_name
schema_name.object_name.column_name
object_name.column_name

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

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

column_name.property_name1.property_name2…
object_name.column_name.property_name1.property_name2…

См. также

Другие ресурсы

FROM (Transact-SQL)
Синтаксические обозначения в Transact-SQL (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005