Создание синонимов

Применяется к:SQL ServerAzure SQL DatabaseAzure, управляемому экземпляру SQL Azure

В этой статье описывается, как создать синоним в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

Безопасность

Для создания синонима в заданной схеме пользователь должен иметь разрешение CREATE SYNONYM и, либо владеть схемой, либо иметь разрешение ALTER SCHEMA. Разрешение на выполнение CREATE SYNONYM можно предоставлять.

Использование среды SQL Server Management Studio

Создание синонима

  1. В обозревателе объектовразверните базу данных, в которой необходимо создать новое представление.

  2. Щелкните правой кнопкой мыши папку Синонимы и выберите Создать синоним....

  3. В диалоговом окне Добавление синонима введите следующие сведения.

    Имя синонима
    Введите новое имя, которое будет использоваться для обращения к этому объекту.

    Схема синонима
    Введите схему нового имени, которая будет использоваться для обращения к этому объекту.

    Имя сервера
    Введите экземпляр сервера для подключения.

    Имя базы данных
    Введите или выберите базу данных, содержащую объект.

    Схема
    Введите или выберите схему, владеющую объектом.

    Тип объекта
    Выберите тип объекта.

    Имя объекта
    Введите имя объекта, которому должен соответствовать синоним.

Использование Transact-SQL

Создание синонима

  1. Соединитесь с ядром СУБД .

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте приведенные ниже примеры в окно запроса и нажмите кнопку Выполнить.

Пример (Transact-SQL)

В следующем примере создается синоним для существующей таблицы в базе данных AdventureWorks2022 . Затем синоним используется в последующих примерах.

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

Следующий пример вставляет строку в базовую таблицу, на которую ссылается синоним MyAddressType .

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

Следующий пример демонстрирует, как на синоним можно сослаться в динамическом SQL.

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

Далее