Share via


DROP SCHEMA (Transact-SQL)

從資料庫中移除結構描述。

主題連結圖示Transact-SQL 語法慣例

語法

DROP SCHEMA schema_name

引數

  • schema_name
    這是資料庫中結構描述的識別名稱。

備註

要卸除的結構描述不能包含任何物件。如果該結構描述包含物件,DROP 陳述式會失敗。

您可以在 sys.schemas 目錄檢視中,看到有關結構描述的資訊。

注意   從 SQL Server 2005 開始,結構描述的行為已經變更。結果是,假設結構描述相當於資料庫使用者的程式碼可能不會傳回正確的結果。不應該在曾經使用下列任何一個 DDL 陳述式的資料庫中使用舊的目錄檢視 (包括 sysobjects):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,然後對 Anibal 授與 SELECT 權限,並對 Hung-Fu 拒絕 SELECT 權限。

USE AdventureWorks;
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

下列陳述式會卸除該結構描述。請注意,您必須先卸除該結構描述包含的資料表。

DROP TABLE Sprockets.NineProngs;
DROP SCHEMA Sprockets;
GO