SQLServer之删除数据库架构
删除数据库架构注意事项
要删除的架构不能包含任何对象。 如果架构包含对象,则 DROP 语句将失败。
可以在 sys.schemas 目录视图中查看有关架构的信息。
要求对架构具有 CONTROL 权限,或者对数据库具有 ALTER ANY SCHEMA 权限。
使用SSMS数据库管理工具删除数据库架构
1、连接服务器-》展开数据库文件夹-》选择数据库并展开-》展开安全性文件夹-》展开架构文件夹-》选择要删除的数据库架构右键点击-》选择删除。

2、在删除对象弹出框-》点击确定。

3、查看删除结果(不需要刷新架构文件夹)。

使用T-SQL脚本删除数据库架构
语法
--声明数据库引用
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
--当前架构所在数据库名称。
--schema_name
--架构在数据库中所使用的名称。
--architecturename
--架构扩展属性名称。
--schema_tablename
--架构下存在的类型(本例以数据表为例)。
--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
示例结果:使用T-SQL脚本删除数据库架构需要刷新数据库架构文件夹查看删除结果。

SQLServer之删除数据库架构的更多相关文章
- SQLServer之修改数据库架构
修改数据库架构注意事项 用户与架构完全分离. ALTER SCHEMA 仅可用于在同一数据库中的架构之间移动安全对象. 若要更改或删除架构中的安全对象,请使用特定于该安全对象的 ALTER 或 DRO ...
- SQLServer之创建数据库架构
创建数据库架构注意事项 包含 CREATE SCHEMA AUTHORIZATION 但未指定名称的语句仅允许用于向后兼容性. 该语句未引起错误,但未创建一个架构. CREATE SCHEMA 可以在 ...
- SQLserver无法删除数据库 "XXXX",因为该数据库当前正在使用。
问题描述: 有时候删除库的时候,会显示无法删除数据库,因为该数据库当前正在使用. 解决方法: 方法一: EXEC msdb.dbo.sp_delete_database_backuphistory @ ...
- SQLServer 命令批量删除数据库中指定表(游标循环删除)
DECLARE @tablename VARCHAR(30),@sql VARCHAR(500)DECLARE cur_delete_table CURSOR READ_ONLY FORWARD_ON ...
- ABP框架使用Mysql数据库,以及基于SQLServer创建Mysql数据库的架构和数据
ABP默认的数据库是SQLServer,不过ABP框架底层是EF框架,因此也是很容易支持其他类型的数据库的,本篇随笔介绍在ABP框架使用Mysql数据库,以及基于SQLServer创建MySql数据库 ...
- EF当实体模型与数据库的架构不同时要删除数据库时的报错问题
当使用的EF的时候,我们都知道EF当实体模型与数据库的架构不同时要删除数据库,这是会把错: 无法创建与 'master' 数据库之间的连接,这是因为已打开原始数据库连接,并且已从连接字符串中删除凭据. ...
- SQLServer之删除用户自定义数据库用户
删除用户自定义数据库用户注意事项 不能从数据库中删除拥有安全对象的用户. 必须先删除或转移安全对象的所有权,才能删除拥有这些安全对象的数据库用户. 不能删除 guest 用户,但可在除 master ...
- sqlserver学习笔记(一)—— 登录本机sqlserver、启动和停止sqlserver服务、创建和删除数据库
(重要参考:51自学网——SQL Server数据库教程) 首先按照网上教程安装好sqlserver,打开登录 登录本机sqlserver:①. ②localhost ③127.0.0.1 启动和停止 ...
- SQLServer之删除用户定义的数据库角色
删除用户定义的数据库角色注意事项 无法从数据库删除拥有安全对象的角色. 若要删除拥有安全对象的数据库角色,必须首先转移这些安全对象的所有权,或从数据库删除它们. 无法从数据库删除拥有成员的角色. 若要 ...
随机推荐
- 接口调用(发送http请求)
// 向对应的url地址发送http请求, 并获取响应的json字符串 public String getHttpResponse(String url) { // result用 ...
- mysql数据库的权限体系介绍
一.权限体系简介: MySQL的权限体系在实现上比较简单,相关权限信息主要存储在mysql.User.mysql.db.mysql.Host.mysql_table_priv和mysql.column ...
- 盒子模型、IFC、BFC和Collapsing margins
前言 盒子模型作为CSS基础中的基础,曾一度以为掌握了IE和W3C标准下的块级盒子模型即可,但近日在学习行级盒子模型时发现原来当初是如此幼稚可笑.本文尝试全面叙述块级.行级盒子模型的特性.作为近日学习 ...
- C语言实现计算双基回文数详解
双基回文数的定义: 如果一个正整数n至少在两个不同的进位制(二进制<=进制=<十进制)b1和b2下都是回文数,则称n是双基回文数. 根据定义,简单的说就是在二进制到十进制之间(包括十进制和 ...
- ES6-LET,变量提升,函数提升
1:let命令 ①类似var,但只在let所在代码块内有效 ②不存在变量提升 ③暂时性死区(TDZ)—有let命令时,在此命令前都没法使用此变量 ④不允许重复声明 ⑤ES6允许块级作用域任意嵌套 ⑥E ...
- Android 自定义 ViewPager 打造千变万化的图片切换效果
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38026503 记得第一次见到ViewPager这个控件,瞬间爱不释手,做东西的主 ...
- Python web简约表白网页源码分享,时光不老,我们不散!
演示站:c.lmz8.cn打开js/4.js,复制到工具箱的js代码整理那,先解密,方便查看.工具箱:tool.lmz8.cnjs代码整理.在线解码 这个便是文字,只不过呗转码了,所以要用到解码工具. ...
- Python字符串的操作
字符串常用操作 name = "my name is alex" # 注: python中方法名前后带下划线的是供内部使用的方法, 如方法__dir__(). 这种方法是不对外提供 ...
- tcp.go
) _, err := io.ReadFull(clientConn, buf) if err != nil { p.ctx.nsqd.logf("ERROR ...
- Dubbo中服务消费者和服务提供者之间的请求和响应过程
服务提供者初始化完成之后,对外暴露Exporter.服务消费者初始化完成之后,得到的是Proxy代理,方法调用的时候就是调用代理. 服务消费者经过初始化之后,得到的是一个动态代理类,InvokerIn ...