DROP SYNONYM (Transact-SQL)

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance

Removes a synonym from a specified schema.

Transact-SQL syntax conventions

Syntax

DROP SYNONYM [ IF EXISTS ] [ schema. ] synonym_name  

Note

To view Transact-SQL syntax for SQL Server 2014 (12.x) and earlier versions, see Previous versions documentation.

Arguments

IF EXISTS
Applies to: SQL Server ( SQL Server 2016 (13.x) through current version).

Conditionally drops the synonym only if it already exists.

schema
Specifies the schema in which the synonym exists. If schema is not specified, SQL Server uses the default schema of the current user.

synonym_name
Is the name of the synonym to be dropped.

Remarks

References to synonyms are not schema-bound; therefore, you can drop a synonym at any time. References to dropped synonyms will be found only at run time.

Synonyms can be created, dropped and referenced in dynamic SQL.

Permissions

To drop a synonym, a user must satisfy at least one of the following conditions. The user must be:

  • The current owner of a synonym.

  • A grantee holding CONTROL on a synonym.

  • A grantee holding ALTER SCHEMA permission on the containing schema.

Examples

The following example first creates a synonym, MyProduct, and then drops the synonym.

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

See Also

CREATE SYNONYM (Transact-SQL)
EVENTDATA (Transact-SQL)