CREATE SYNONYM (Transact-SQL)

Erstellt ein neues Synonym.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

CREATE SYNONYM [ schema_name_1. ] synonym_name FOR < object >

< object > :: =
{
    [ server_name.[ database_name ] . [ schema_name_2 ].| database_name . [ schema_name_2 ].| schema_name_2. ] object_name
}

Argumente

  • schema_name_1
    Gibt das Schema an, in dem das Synonym erstellt wird. Wenn schema nicht angegeben ist, verwendet SQL Server 2005 das Standardschema des aktuellen Benutzers.
  • synonym_name
    Der Name des neuen Synonyms.
  • server_name
    Der Name des Servers, auf dem sich das Basisobjekt befindet.
  • database_name
    Der Name der Datenbank, auf der sich das Basisobjekt befindet. Wenn database_name nicht angegeben ist, wird der Name der aktuellen Datenbank verwendet.
  • schema_name_2
    Der Name des Schemas des Basisobjekts. Wenn schema_name nicht angegeben ist, wird das Standardschema des aktuellen Benutzers verwendet.
  • object_name
    Der Name des Basisobjekts, auf das das Synonym verweist.

Hinweise

Das Basisobjekt muss zur Erstellungszeit des Synonyms nicht notwendigerweise vorhanden sein. SQL Server überprüft das Vorhandensein des Basisobjekts zur Laufzeit.

Synonyme können für die folgenden Objekttypen erstellt werden:

Assembly (CLR)-gespeicherte Prozeduren

Assembly (CLR)-Tabellenwertfunktionen

Assembly (CLR)-Skalarfunktionen

Assembly (CLR)-Aggregatfunktionen

Replikationsfilterprozedur

Erweiterte gespeicherte Prozeduren

SQL-Skalarfunktionen

SQL-Tabellenwertfunktionen

SQL-Inline-Tabellenwertfunktion

Gespeicherte SQL-Prozeduren

Sicht

Table1 (Benutzerdefiniert)

1 Enthält lokale und globale temporäre Tabellen

Vierteilige Namen für Funktionsbasisobjekte werden nicht unterstützt.

In dynamischem SQL können Synonyme erstellt und gelöscht werden. Außerdem kann auf sie verwiesen werden.

Berechtigungen

Zum Erstellen eines Synonyms in einem Schema muss ein Benutzer über die CREATE SYNONYM-Berechtigung verfügen und entweder der Besitzer des Schemas sein oder über die ALTER SCHEMA-Berechtigung verfügen.

Die CREATE SYNONYM-Berechtigung ist eine erteilbare Berechtigung.

ms177544.note(de-de,SQL.90).gifHinweis:
Sie benötigen keine Berechtigung für das Basisobjekt, um die CREATE SYNONYM-Anweisung erfolgreich auszuführen, da alle Berechtigungsüberprüfungen für das Basisobjekt bis zur Laufzeit verzögert werden.

A. Erstellen eines Synonyms für ein lokales Objekt.

Im folgenden Beispiel wird zunächst ein Synonym für das Basisobjekt, Product in der AdventureWorks-Datenbank, erstellt und dann das Synonym abgefragt.

USE tempdb;
GO
-- Create a synonym for the Product table in AdventureWorks.
CREATE SYNONYM MyProduct
FOR AdventureWorks.Production.Product;
GO

-- Query the Product table by using the synonym.
USE tempdb;
GO
SELECT ProductID, Name 
FROM MyProduct
WHERE ProductID < 5;
GO

Dies ist das Resultset.

-----------------------
ProductID   Name                      
----------- --------------------------
1           Adjustable Race
2           Bearing Ball
3           BB Ball Bearing
4           Headset Ball Bearings
(4 row(s) affected)

B. Erstellen eines Synonyms zu einem Remoteobjekt

Im folgenden Beispiel befindet sich das Basisobjekt, Contact, auf einem Remoteserver namens Server_Remote.

EXEC sp_addlinkedserver Server_Remote;
GO
USE tempdb;
GO
CREATE SYNONYM MyEmployee FOR Server_Remote.AdventureWorks.HumanResources.Employee;
GO

Beispiele

Siehe auch

Verweis

DROP SYNONYM (Transact-SQL)
GRANT (Transact-SQL)
EVENTDATA (Transact-SQL)

Andere Ressourcen

Verwenden von Synonymen (Datenbankmodul)

Hilfe und Informationen

Informationsquellen für SQL Server 2005