Verwenden von Bezeichnern als Objektnamen
Der vollständige Name eines Objekts besteht aus bis zu vier Bezeichnern: Servername, Datenbankname, Schemaname und Objektname.Sie halten das folgende Format ein:
server_name**.[database_name].[schema_name].**object_name
| database_name**.[schema_name].**object_name
| schema_name**.**object_name
| object_name
Server-, Datenbank- und Besitzername werden als Bezeichner des Objektnamens bezeichnet. Wenn Sie auf ein Objekt verweisen, müssen Sie nicht den Server, die Datenbank und den Besitzer angeben. Die Angaben können weggelassen werden, indem Sie ihre Positionen mit einem Punkt markieren. Dies sind die gültigen Formate von Objektnamen:
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
Ein Objektname, der alle vier Teile festlegt, wird als vollgekennzeichneter Name bezeichnet. Jedes in Microsoft SQL Server erstellte Objekt muss einen eindeutigen vollgekennzeichneten Namen haben.So kann dieselbe Datenbank beispielsweise zwei Tabellen namens xyz enthalten, wenn diese verschiedenen Besitzern gehören.
Die meisten Objektverweise verwenden dreiteilige Namen. Standardmäßig wird für server_name der lokale Server angegeben. Standardmäßig ist database_name die aktuelle Datenbank der Verbindung. Standardmäßig ist schema_name das Standardschema des Benutzers, von dem die Anweisung gesendet wird. Wenn die Konfiguration nicht geändert wurde, ist das dbo-Schema das Standardschema neuer Benutzer.
Vierteilige Namen werden normalerweise für verteilte Abfragen oder Aufrufe remote gespeicherter Prozeduren verwendet. Für diese wird das folgende Format verwendet:
- linkedserver**.catalog.schema.**object_name
In der folgenden Tabelle werden die Namen der Teile und die zugehörigen Beschreibungen aufgeführt.
Bezeichnung des Namensteils |
Beschreibung |
---|---|
linkedserver |
Name des Verbindungsservers, der das Objekt enthält, auf das von der verteilten Abfrage verwiesen wird. |
catalog |
Name des Katalogs, der das Objekt enthält, auf das von der verteilten Abfrage verwiesen wird. Beim Abfragen einer SQL Server-Datenbank ist der Katalog der Datenbankname. |
schema |
Name des Schemas, das das Objekt enthält, auf das von der verteilten Abfrage verwiesen wird. |
object_name |
Objekt- oder Tabellenname. |
Bei verteilten Abfragen bezieht sich der Serverteil eines aus vier Teilen bestehenden Namens auf einen Verbindungsserver. Ein Verbindungsserver ist ein mit sp_addlinkedserver definierter Servername. Der Verbindungsserver identifiziert einen OLE DB-Anbieter und eine OLE DB-Datenquelle, die einen Datensatz zurückgeben können, den Microsoft SQL Server als Teil einer Transact-SQL-Anweisung verwenden kann.
In der Dokumentation zu dem für den Verbindungsserver angegebenen OLE DB-Anbieter finden Sie weitere Informationen darüber, welche Komponenten in der OLE DB-Datenquelle für die Katalog- und Schemateile des Namens verwendet werden. Falls auf dem Verbindungsserver eine Instanz von SQL Server ausgeführt wird, entspricht der Katalogname der Datenbank, die das Objekt enthält; das Schema ist der Besitzer des Objekts. Weitere Informationen zu vierteiligen Namen und verteilten Abfragen finden Sie unter Verteilte Abfragen.
Bei Remoteprozeduraufrufen bezieht sich der Serverteil eines aus vier Teilen bestehenden Namens auf einen Remoteserver. Ein Remoteserver, der mit sp_addserver angegeben wird, ist eine Instanz von SQL Server, auf die über den lokalen Server zugegriffen werden kann. Führen Sie gespeicherte Prozeduren auf dem Remoteserver aus, indem Sie das folgende Format für den Prozedurnamen verwenden:
- server**.database.schema_name.**procedure
Alle vier Teile des Namens werden beim Verwenden einer remote gespeicherten Prozedur benötigt. Weitere Informationen zu Remoteservern finden Sie unter Konfigurieren von Remoteservern.
Verweisen auf Spalten mithilfe von Bezeichnern
Spaltennamen müssen innerhalb einer Tabelle oder Sicht eindeutig sein. Mit bis zu drei Präfixen können Sie Spalten in einer Abfrage angeben, in der mehrere Tabellen, auf die verwiesen wird, eine Spalte mit dem gleichen Namen aufweisen. Die folgenden Formate sind zulässig:
database_name**.schema_name.object_name.**column_name
database_name**..**object_name.column_name
schema_name.object_name**.**column_name
object_name**.**column_name
Verweisen auf Spalteneigenschaften von benutzerdefinierten Spalten
Auf Eigenschaften von benutzerdefinierten Spalten wird mithilfe eines Punkts (.) als Trennzeichen zwischen dem Spaltennamen und dem Eigenschaftsnamen verwiesen.Wenn auf Eigenschaftsnamen verwiesen wird, können Sie auch auf die Tabellen- oder Sichtbezeichner verweisen, jedoch nicht auf die Datenbank- oder Schemabezeichner. Die folgenden Formate sind zulässig:
column_name**.property_name1.**property_name2[…]
object_name**.column_name.property_name1.**property_name2[…]