DROP SCHEMA (Transact-SQL)

Quita un esquema de la base de datos.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

DROP SCHEMA schema_name

Argumentos

  • schema_name
    Es el nombre por el que se conoce el esquema en la base de datos.

Comentarios

El esquema que se va a quitar no puede contener objetos. Si el esquema contiene objetos, la instrucción DROP registrará errores.

Puede ver la información acerca de los esquemas en la vista de catálogo sys.schemas.

Caution   El comportamiento de los esquemas cambió en SQL Server 2005. En consecuencia, el código que supone que los esquemas son equivalentes a los usuarios de base de datos puede dejar de devolver resultados correctos. Las antiguas vistas de catálogo, incluida sysobjects, no se deben usar en una base de datos en la que se haya utilizado alguna vez cualquiera de las siguientes instrucciones DDL: 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. En esas bases de datos, debe usar las nuevas vistas de catálogo. En las nuevas vistas de catálogo se tiene en cuenta la separación de entidades de seguridad y esquemas que se estableció en SQL Server 2005. Para obtener más información sobre las vistas de catálogo, vea Vistas de catálogo (Transact-SQL).

Permisos

Requiere el permiso CONTROL en el esquema o el permiso ALTER ANY SCHEMA en la base de datos.

Ejemplos

El siguiente ejemplo comienza con una única instrucción CREATE SCHEMA. La instrucción crea el esquema Sprockets que es propiedad de Krishna y la tabla Sprockets.NineProngs, concede el permiso SELECT a Anibal y deniega el permiso SELECT a Hung-Fu.

USE AdventureWorks2008R2;
GO
CREATE SCHEMA Sprockets AUTHORIZATION Krishna 
    CREATE TABLE NineProngs (source int, cost int, partnumber int)
    GRANT SELECT TO Anibal 
    DENY SELECT TO Hung-Fu;
GO

Para quitar el esquema, siga las siguientes instrucciones. Tenga en cuenta que debe quitar primero la tabla contenida en el esquema.

DROP TABLE Sprockets.NineProngs;
DROP SCHEMA Sprockets;
GO