Поделиться через


DROP SCHEMA (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric

Удаляет схему из базы данных.

Соглашения о синтаксисе Transact-SQL

Синтаксис

-- 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  

Аргументы

IF EXISTS
Применимо к: SQL Server (SQL Server 2016 (13.x) до текущей версии.

Условное удаление схемы только в том случае, если она уже существует.

schema_name
Имя, под которым схема известна в пределах базы данных.

Замечания

Удаляемая схема не должна содержать никаких объектов. Если схема содержит объекты, выполнение инструкции DROP заканчивается сбоем.

Сведения о схемах можно увидеть в представлении каталога sys.schemas.

Обратите внимание! Начиная с версии SQL Server 2005 поведение схем изменилось. В результате программный код, предполагающий, что схемы эквивалентны пользователям базы данных, возможно, не будет более возвращать правильные результаты. Старые представления каталогов, включая sysobjects, не должны использоваться в базах данных, где когда-либо выполнялась любая из следующих инструкций 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. В таких базах данных необходимо использовать новые представления каталога. Новые представления каталога учитывают разделение участников и схем, введенное в SQL Server 2005. Дополнительные сведения о представлениях каталога см. в разделе "Представления каталога" (Transact-SQL).

Разрешения

Необходимо разрешение CONTROL на схему или разрешение ALTER ANY SCHEMA в базе данных.

Примеры

Следующий пример начинается с единственной инструкции CREATE SCHEMA. Эта инструкция создает схему Sprockets, владельцем которой является Krishna, и таблицу Sprockets.NineProngs, затем предоставляет разрешение SELECT на Anibal и отзывает разрешение SELECT на 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  

При помощи следующих инструкций схема удаляется. Обратите внимание, что вначале необходимо удалить таблицу, содержащуюся в схеме.

DROP TABLE Sprockets.NineProngs;  
DROP SCHEMA Sprockets;  
GO  

См. также

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