Utilizando identificadores como nomes de objetos
O nome completo de um objeto é composto por quatro identificadores: nome do servidor, nome do banco de dados, nome do esquema e nome do objeto. Eles são exibidos no seguinte formato:
server_name**.[database_name].[schema_name].**object_name
| database_name**.[schema_name].**object_name
| schema_name**.**object_name
| object_name
Os nomes do servidor, do banco de dados e do proprietário são conhecidos como os qualificadores do nome do objeto. Quando você se refere a um objeto, não precisa especificar o servidor, o banco de dados e o proprietário. Os qualificadores podem ser omitidos marcando suas posições com um ponto. Os formatos válidos de nomes de objetos incluem:
server_name**.database_name.schema_name.**object_name
server_name**.database_name..**object_name
server_name**..schema_name.**object_name
server_name**...**object_name
database_name**.schema_name.**object_name
database_name**..**object_name
schema_name**.**object_name
object_name
Um nome de objeto que especifica suas quatro partes é conhecido como um nome totalmente qualificado. Cada objeto criado no MicrosoftSQL Server deve ter um nome exclusivo, totalmente qualificado. Por exemplo, podem existir duas tabelas chamadas xyz no mesmo banco de dados se elas tiverem proprietários diferentes.
A maioria das referências de objeto utiliza nomes de três partes. O server_name padrão é o servidor local. O database_name padrão é o banco de dados atual da conexão. O schema_name padrão é o esquema padrão do usuário que envia a instrução. A menos que seja configurado de outra forma, o esquema padrão de usuários novos é o esquema dbo.
Geralmente, os nomes de quatro partes são utilizados para consultas distribuídas ou chamadas de procedimentos remotos armazenados. Eles utilizam o seguinte formato:
- linkedserver**.catalog.schema.**object_name
A tabela a seguir mostra os nomes das partes e suas descrições.
Nome da parte |
Descrição |
---|---|
linkedserver |
Nome do servidor vinculado que contém o objeto referenciado pela consulta distribuída. |
catalog |
Nome do catálogo que contém o objeto referenciado pela consulta distribuída. Ao consultar um banco de dados SQL Server, o catálogo será o nome do banco de dados. |
schema |
Nome do esquema que contém o objeto referenciado pela consulta distribuída. |
object_name |
Nome do objeto ou nome da tabela. |
Para consultas distribuídas, a parte do servidor de um nome de quatro partes se refere a um servidor vinculado. Um servidor vinculado é um nome de servidor definido por sp_addlinkedserver. O servidor vinculado identifica um provedor OLE DB e uma fonte de dados OLE DB que pode retornar um conjunto de registros que o MicrosoftSQL Server pode utilizar como parte de uma instrução Transact-SQL.
Para determinar quais componentes da fonte de dados OLE DB são utilizados para as partes do nome de catálogo e esquema, consulte a documentação do provedor OLE DB especificado para o servidor vinculado. Se o servidor vinculado estiver sendo executado em uma instância do SQL Server, o nome do catálogo será o banco de dados que contém o objeto e o esquema será o proprietário do objeto. Para obter mais informações sobre nomes em quatro partes e consultas distribuídas, consulte Consultas distribuídas.
Para chamadas de procedimentos remotos, a parte de servidor de um nome de quatro partes se refere a um servidor remoto. Um servidor remoto especificado com sp_addserver é uma instância do SQL Server acessada pelo servidor local. Execute os procedimentos armazenados no servidor remoto utilizando o seguinte formato para o nome do procedimento:
- server**.database.schema_name.**procedure
As quatro partes do nome serão necessárias quando você estiver utilizando um procedimento remoto armazenado. Para obter mais informações sobre servidores remotos, consulte Configurando servidores remotos.
Fazendo referência a colunas utilizando identificadores
Os nomes das colunas devem ser exclusivos em uma tabela ou exibição. Você pode utilizar até três prefixos para especificar colunas em uma consulta em que mais de uma tabela referenciada pode ter uma coluna com o mesmo nome. Qualquer um dos seguintes formatos é aceitável:
database_name**.schema_name.object_name.**column_name
database_name**..**object_name.column_name
schema_name.object_name**.**column_name
object_name**.**column_name
Fazendo referência às propriedades de colunas do tipo definido pelo usuário
As propriedades de colunas do tipo definido pelo usuário são referenciadas utilizando um separador de ponto (.) entre o nome da coluna e o nome da propriedade. Quando os nomes de propriedade são referenciados, você também pode referenciar a tabela ou exibir os identificadores, mas não os identificadores do banco de dados ou do esquema. Os seguintes formatos são aceitáveis:
column_name**.property_name1.**property_name2[…]
object_name**.column_name.property_name1.**property_name2[…]