适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
分析平台系统 (PDW)
Microsoft Fabric 中的 SQL 分析端点
Microsoft Fabric 中的仓库
从数据库中删除架构。
语法
-- 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 目录视图中查看有关架构的信息。
注释
架构不等同于数据库用户。 使用 系统目录视图 标识数据库用户和架构之间的任何差异。
权限
要求对架构具有 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)