Crear sinónimos
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance
En este artículo se describe cómo crear un sinónimo en SQL Server mediante SQL Server Management Studio o Transact-SQL.
Seguridad
Para crear un sinónimo en un esquema determinado, el usuario debe tener el permiso CREATE SYNONYM y ser propietario del esquema o tener el permiso ALTER SCHEMA. El permiso CREATE SYNONYM se puede conceder.
Uso de SQL Server Management Studio
Creación de un sinónimo
En el Explorador de objetos, expanda la base de datos donde desea crear la nueva vista.
Haga clic con el botón derecho en la carpeta Sinónimos y después seleccione Nuevo sinónimo....
En el cuadro de diálogo Agregar sinónimo , escriba la siguiente información.
Nombre de sinónimo
Escriba el nombre que desea utilizar para este objeto.Esquema de sinónimos
Escriba el esquema del nuevo nombre que desea utilizar para este objeto.Nombre del servidor
Escriba la instancia de servidor a la que va a conectarse.Nombre de la base de datos
Escriba o seleccione la base de datos que contiene el objeto.Esquema
Escriba o seleccione el esquema al que pertenece el objeto.Tipo de objeto
Seleccione el tipo de objeto.Nombre de objeto
Escriba el nombre del objeto al que hace referencia el sinónimo.
Uso de Transact-SQL
Creación de un sinónimo
Conéctese con el Motor de base de datos.
En la barra Estándar, seleccione Nueva consulta.
Copie y pegue los ejemplos siguientes en la ventana de consulta y seleccione Ejecutar.
Ejemplo (Transact-SQL)
En el siguiente ejemplo se crea un sinónimo para una tabla existente en la base de datos de AdventureWorks2022
. El sinónimo se utiliza en los ejemplos siguientes.
USE tempdb;
GO
CREATE SYNONYM MyAddressType
FOR AdventureWorks2022.Person.AddressType;
GO
En el siguiente ejemplo se inserta una fila en la tabla base a la que hace referencia el sinónimo MyAddressType
.
USE tempdb;
GO
INSERT INTO MyAddressType (Name)
VALUES ('Test');
GO
En el siguiente ejemplo se muestra cómo se puede hacer referencia a un sinónimo en SQL dinámica.
USE tempdb;
GO
EXECUTE ('SELECT Name FROM MyAddressType');
GO