Partilhar via


DROP SCHEMA (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise do SQL Warehouse no Microsoft Fabric

Remove um esquema do banco de dados.

Convenções de sintaxe de Transact-SQL

Sintaxe

-- Syntax for SQL Server and Azure SQL Database  
  
DROP SCHEMA  [ IF EXISTS ] schema_name  
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse  
  
DROP SCHEMA schema_name  

Argumentos

IF EXISTS
Aplica-se a: SQL Server (SQL Server 2016 (13.x) até a versão atual).

Remove condicionalmente o esquema somente se ele já existir.

schema_name
É o nome pelo qual o esquema é conhecido no banco de dados.

Comentários

O esquema que está sendo descartado não deve conter nenhum objeto. Se o esquema contiver objetos, a instrução DROP falhará.

As informações sobre esquemas estão visíveis na exibição do catálogo sys.schemas.

Cuidado A partir do SQL Server 2005, o comportamento de esquemas mudou. Como resultado, o código que pressupõe que esquemas sejam equivalentes a usuários de banco de dados pode não retornar mais resultados corretos. Exibições do catálogo antigas, incluindo sysobjects, não devem ser usadas em um banco de dados no qual uma das instruções DDL a seguir já tenha sido utilizada: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. Nesses bancos de dados você deve usar as exibições do catálogo novas. As exibições do catálogo novas levam em conta a separação de entidades e esquemas apresentada no SQL Server 2005. Para mais informações sobre exibições do catálogo, consulte Exibições do catálogo (Transact-SQL).

Permissões

Requer a permissão CONTROL no esquema ou a permissão ALTER ANY SCHEMA no banco de dados.

Exemplos

O exemplo a seguir inicia com uma única instrução CREATE SCHEMA. A instrução cria o esquema Sprockets cuja propriedade é de Krishna e de uma tabela Sprockets.NineProngs, depois concede a permissão SELECT para Anibal e nega a permissão SELECT para Hung-Fu.

CREATE SCHEMA Sprockets AUTHORIZATION Krishna   
    CREATE TABLE NineProngs (source INT, cost INT, partnumber INT)  
    GRANT SELECT TO Anibal   
    DENY SELECT TO [Hung-Fu];  
GO  

As instruções a seguir descartam o esquema. Observe que, primeiro, você deve descartar a tabela contida no esquema.

DROP TABLE Sprockets.NineProngs;  
DROP SCHEMA Sprockets;  
GO  

Consulte Também

CREATE SCHEMA (Transact-SQL)
ALTER SCHEMA (Transact-SQL)
DROP SCHEMA (Transact-SQL)
EVENTDATA (Transact-SQL)