DROP SCHEMA (Transact-SQL)DROP SCHEMA (Transact-SQL)

DIESES THEMA GILT FÜR: jaSQL Server (ab 2008)jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Entfernt ein Schema aus der Datenbank.Removes a schema from the database.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

-- Syntax for SQL Server and Azure SQL Database  

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

DROP SCHEMA schema_name  

ArgumenteArguments

IF VORHANDEN ISTIF EXISTS
Gilt für: SQL ServerSQL Server ( SQL Server 2016SQL Server 2016 bis zur aktuellen Version).Applies to: SQL ServerSQL Server ( SQL Server 2016SQL Server 2016 through current version).

Das Schema gelöscht bedingt nur, wenn sie bereits vorhanden ist.Conditionally drops the schema only if it already exists.

schema_nameschema_name
Der Name des Schemas in der Datenbank.Is the name by which the schema is known within the database.

HinweiseRemarks

Das zu löschende Schema darf keine Objekte enthalten.The schema that is being dropped must not contain any objects. Falls das Schema Objekte enthält, erzeugt die DROP-Anweisung einen Fehler.If the schema contains objects, the DROP statement fails.

Informationen zu Schemas werden in der sys.schemas -Katalogsicht angezeigt.Information about schemas is visible in the sys.schemas catalog view.

Vorsicht Ab SQL Server 2005 hat sich das Verhalten der Schemas geändert.Beginning with SQL Server 2005, the behavior of schemas changed. Daher gibt Code, der voraussetzt, dass Schemas mit Datenbankbenutzern identisch sind, nunmehr keine richtigen Ergebnisse mehr zurück.As a result, code that assumes that schemas are equivalent to database users may no longer return correct results. Alte Katalogsichten, einschließlich sysobjects, sollten nicht in einer Datenbank verwendet werden, in der jemals eine der folgenden DDL-Anweisungen verwendet wurde: 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.Old catalog views, including sysobjects, should not be used in a database in which any of the following DDL statements have ever been used: 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. In derlei Datenbanken müssen Sie stattdessen die neuen Katalogansichten verwenden.In such databases you must instead use the new catalog views. In den neuen Katalogsichten wird die Trennung zwischen Prinzipalen und Schemas berücksichtigt, die in SQL Server 2005 eingeführt wurde.The new catalog views take into account the separation of principals and schemas that was introduced in SQL Server 2005. Weitere Informationen zu Katalogansichten finden Sie unter Catalog Views (Transact-SQL) (Katalogansichten (Transact-SQL)).For more information about catalog views, see Catalog Views (Transact-SQL).Caution Ab SQL Server 2005 hat sich das Verhalten der Schemas geändert.Beginning with SQL Server 2005, the behavior of schemas changed. Daher gibt Code, der voraussetzt, dass Schemas mit Datenbankbenutzern identisch sind, nunmehr keine richtigen Ergebnisse mehr zurück.As a result, code that assumes that schemas are equivalent to database users may no longer return correct results. Alte Katalogsichten, einschließlich sysobjects, sollten nicht in einer Datenbank verwendet werden, in der jemals eine der folgenden DDL-Anweisungen verwendet wurde: 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.Old catalog views, including sysobjects, should not be used in a database in which any of the following DDL statements have ever been used: 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. In derlei Datenbanken müssen Sie stattdessen die neuen Katalogansichten verwenden.In such databases you must instead use the new catalog views. In den neuen Katalogsichten wird die Trennung zwischen Prinzipalen und Schemas berücksichtigt, die in SQL Server 2005 eingeführt wurde.The new catalog views take into account the separation of principals and schemas that was introduced in SQL Server 2005. Weitere Informationen zu Katalogansichten finden Sie unter Catalog Views (Transact-SQL) (Katalogansichten (Transact-SQL)).For more information about catalog views, see Catalog Views (Transact-SQL).

BerechtigungenPermissions

Erfordert die CONTROL-Berechtigung für das Schema oder die ALTER ANY SCHEMA-Berechtigung für die Datenbank.Requires CONTROL permission on the schema or ALTER ANY SCHEMA permission on the database.

BeispieleExamples

Das folgende Beispiel beginnt mit einer einzelnen CREATE SCHEMA-Anweisung.The following example starts with a single CREATE SCHEMA statement. Von der Anweisung werden das Sprockets-Schema, das sich im Besitz von Krishna befindet, und die Sprockets.NineProngs-Tabelle erstellt. Anschließend wird die SELECT-Berechtigung für Anibal erteilt und die SELECT-Berechtigung für Hung-Fu verweigert.The statement creates the schema Sprockets that is owned by Krishna and a table Sprockets.NineProngs, and then grants SELECT permission to Anibal and denies SELECT permission to 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  

Mit den folgenden Anweisungen wird das Schema gelöscht.The following statements drop the schema. Beachten Sie, dass zunächst die Tabelle gelöscht werden muss, die sich im Schema befindet.Note that you must first drop the table that is contained by the schema.

DROP TABLE Sprockets.NineProngs;  
DROP SCHEMA Sprockets;  
GO  

Siehe auchSee Also

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