Использование идентификаторов в качестве имен объектов
Полное имя объекта состоит из четырех идентификаторов: имени сервера, имени базы данных, имени схемы и имени объекта, которые отображаются в следующем формате:
имя_сервера**.[имя_базы_данных].[имя_схемы].**имя_объекта
| имя_базы_данных**.[имя_схемы].**имя_объекта
| имя_схемы**.**имя_объекта
| имя_объекта
Имена сервера, базы данных и владельца называются квалификаторами имени объекта. Ссылаясь на объект, нет необходимости указывать сервер, базу данных и владельца. Квалификаторы могут быть опущены, отмечая их позиции точками. Далее перечислены допустимые форматы имен объектов:
имя_сервера**.имя_базы_данных.имя_схемы.**имя_объекта
имя_сервера**.имя_базы_данных..**имя_объекта
имя_сервера**..имя_схемы.**имя_объекта
имя_сервера**...**имя_объекта
имя_базы_данных**.имя_схемы.**имя_объекта
имя_базы_данных**..**имя_объекта
имя_схемы**.**имя_объекта
имя_объекта
Имя объекта, включающее все четыре части, называется полным именем. Каждый объект, создаваемый в 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[…]