Creare sinonimiCreate Synonyms

In questo argomento viene descritto come creare un sinonimo in SQL Server 2017SQL Server 2017 utilizzando SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to create a synonym in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Sicurezza Security

Per poter creare un sinonimo in un determinato schema, un utente deve disporre dell'autorizzazione CREATE SYNONYM, oltre a disporre della proprietà dello schema o dell'autorizzazione ALTER SCHEMA.To create a synonym in a given schema, a user must have CREATE SYNONYM permission and either own the schema or have ALTER SCHEMA permission. L'autorizzazione CREATE SYNONYM è un'autorizzazione che può essere concessa.The CREATE SYNONYM permission is a grantable permission.

Autorizzazioni Permissions

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per creare un sinonimoTo Create a Synonym

  1. In Esplora oggettiespandere il database in cui si desidera creare la nuova vista.In Object Explorer, expand the database where you want to create your new view.

  2. Fare clic con il pulsante destro del mouse sulla cartella Sinonimi , quindi selezionare Nuovo sinonimo.Right-click the Synonyms folder, then click New Synonym….

  3. Nella finestra di dialogo Aggiungi sinonimo immettere le informazioni riportate di seguito.In the Add Synonym dialog box, enter the following information.

    Nome sinonimoSynonym name
    Digitare il nuovo nome che verrà utilizzato per questo oggetto.Type the new name you will use for this object.

    Schema sinonimoSynonym schema
    Digitare lo schema del nuovo nome che verrà utilizzato per questo oggetto.Type the schema of the new name you will use for this object.

    Nome serverServer name
    Digitare l'istanza del server a cui connettersi.Type the server instance to connect to.

    Nome databaseDatabase name
    Digitare o selezionare il database contenente l'oggetto.Type or select the database containing the object.

    SchemaSchema
    Digitare o selezionare lo schema proprietario dell'oggetto.Type or select the schema that owns the object.

    Tipo oggettoObject type
    Selezionare il tipo di oggetto.Select the type of object.

    Nome oggettoObject name
    Digitare il nome dell'oggetto al quale fa riferimento il sinonimo.Type the name of the object to which the synonym refers.

Utilizzo di Transact-SQL Using Transact-SQL

Per creare un sinonimoTo Create a Synonym

  1. Connettersi al Motore di databaseDatabase Engine.Connect to the Motore di databaseDatabase Engine.

  2. Dalla barra Standard fare clic su Nuova query.From the Standard bar, click New Query.

  3. Copiare e incollare gli esempi seguenti nella finestra Query, quindi fare clic su Esegui.Copy and paste the following examples into the query window and click Execute.

Esempio (Transact-SQL) Example (Transact-SQL)

Nell'esempio seguente viene creato un sinonimo per una tabella esistente nel database AdventureWorks2012AdventureWorks2012 .The following example creates a synonym for an existing table in the AdventureWorks2012AdventureWorks2012 database. Il sinonimo viene quindi utilizzato negli esempi successivi.The synonym is then used in subsequent examples.

USE tempdb;  
GO  
CREATE SYNONYM MyAddressType  
FOR AdventureWorks2012.Person.AddressType;  
GO  

Nell'esempio seguente viene inserita una riga nella tabella di base cui fa riferimento il sinonimo MyAddressType .The following example inserts a row into the base table that is referenced by the MyAddressType synonym.

USE tempdb;  
GO  
INSERT INTO MyAddressType (Name)  
VALUES ('Test');  
GO  

Nell'esempio seguente viene illustrato il modo in cui è possibile fare riferimento a un sinonimo in un'istruzione nel linguaggio SQL dinamico.The following example demonstrates how a synonym can be referenced in dynamic SQL.

USE tempdb;  
GO  
EXECUTE ('SELECT Name FROM MyAddressType');  
GO