要刪除的架構不能包含任何對象。 若是架構包含對象,則 DROP 語句將失敗。sql
能夠在 sys.schemas 目錄視圖中查看有關架構的信息。數據庫
要求對架構具備 CONTROL 權限,或者對數據庫具備 ALTER ANY SCHEMA 權限。安全
一、鏈接服務器-》展開數據庫文件夾-》選擇數據庫並展開-》展開安全性文件夾-》展開架構文件夾-》選擇要刪除的數據庫架構右鍵點擊-》選擇刪除。服務器
二、在刪除對象彈出框-》點擊肯定。架構
三、查看刪除結果(不須要刷新架構文件夾)。工具
--聲明數據庫引用
use database_name;
go
if exists(select * from sys.schemas where name=schema_name)
begin
--刪除數據庫架構註釋
exec sys.sp_dropextendedproperty @name=N'architecturename',@level0type=N'schema',@level0name=N'schema_name';
--刪除架構下的全部表
if exists(select * from sys.tables where name=schema_tablename)
drop table schema_name.schema_tablename;
--刪除數據庫架構
drop schema schema_name;
end
go
--語法解析
--database_name
--當前架構所在數據庫名稱。spa
--schema_name
--架構在數據庫中所使用的名稱。3d
--architecturename
--架構擴展屬性名稱。對象
--schema_tablename
--架構下存在的類型(本例以數據表爲例)。blog
--schema_tablename
--要刪除的架構下的表名
--if exists
--適用範圍:SQL Server(SQL Server 2016 (13.x)到當前版本)。
--只有在架構已存在時纔對其進行有條件地刪除。
--聲明數據庫引用
use [testss];
go
if exists(select * from sys.schemas where name='testarchitecture')
begin
--刪除數據庫架構註釋
exec sys.sp_dropextendedproperty @name=N'testcrituer' , @level0type=N'schema',@level0name=N'testarchitecture';
--刪除架構下的全部表
if exists(select * from sys.tables where name='schema_table1')
drop table [testarchitecture].[schema_table1];
--刪除數據庫架構
drop schema testarchitecture;
end
go