数据库实验7

数据库实验7

  • 0 建立登录名
    • 用SSMS工具建立登录名
    • 用T-SQL语句建立登录名
  • 1 删除登录名
    • 用SSMS工具实现
    • 用T-SQL语句实现
  • 2 建立数据库用户
    • 用SSMS工具实现
    • 用T-SQL语句实现
  • 3 删除数据库用户
    • 用SSMS工具实现
    • 用T-SQL语句实现
  • 4 管理用户权限
    • 用SSMS工具实现
    • 用T-SQL语句实现
  • 5 建立用户定义的角色
    • 用SSMS工具实现
    • 用T-SQL语句实现
  • 6 为用户定义的角色授权
    • 用SSMS工具实现
    • 用T-SQL语句实现
  • 7 为用户定义的角色添加成员
    • 用SSMS工具实现
    • 用T-SQL语句实现
  • 8 删除用户定义角色中的成员
    • 用SSMS工具实现
    • 用T-SQL语句实现

0 建立登录名

用SSMS工具建立登录名

我们选择建立Windows身份验证的登录名:

  1. 打开SSMS对象编辑管理器中安全性,里面有一个登录名的文件夹:

    image-20241202105528206

  2. 右键登录名,选择新建登录名:

    image-20241202105548949

  3. 点击搜索:

    image-20241202105631591

  4. 弹出选择用户或组窗口:

    image-20241202105731233

  5. 点高级,再次弹出这个窗口,点立即查找:

    image-20241202105830103

  6. 列出查找结果:

    image-20241202110011236

  7. 选择一个点确认,新建登录名成功:

    image-20241202110142034

用T-SQL语句建立登录名

  1. 我们使用T-SQL语言建立SQL Server身份验证的登录帐户,登录名为SQL_wwj,密码为:123456
CREATE LOGIN SQL_wwj WITH PASSWORD = '123456'

执行结果:

image-20241202110633271

  1. 退出软件,选择SQL身份验证,输入我们刚刚设置的账号密码:

    image-20241202110819612

  2. 点击连接,登录成功:

    image-20241202110905362

1 删除登录名

用SSMS工具实现

  1. 打开对象资源管理器中的安全性,点开登录名,选择你想删除的登录名,右键点删除即可:

    image-20241202120812069

    • 注意这个登录名,现在不能在登录状态,必须在退出登录后,才能使用有权限的账号删除。

用T-SQL语句实现

  1. 删除用户SQL_wwj:

    DROP LOGIN [SQL_wwj];
    

    执行结果:

    image-20241202121249017

2 建立数据库用户

用SSMS工具实现

  1. 展开要建立用户的数据库:

    image-20241202121519819

  2. 点开安全性节点:

    image-20241202121540477

  3. 右键用户,点新建,登录名就是此数据库服务器的登录名,用户名任意:

    image-20241202121850983

  4. 填完后,点确定,多了一个叫张三的用户:

    image-20241202122111540

用T-SQL语句实现

让SQL_wwj登录帐户成为当前数据库中的用户,并且用户名同登录名。

CREATE USER SQL_wwj

image-20241202122455373

  • 注意数据库一定要选择你想设置用户名的数据库。
  1. 此时我们的学生管理系统数据库中多了一个叫SQL_wwj的用户:

    image-20241202122612406

3 删除数据库用户

用SSMS工具实现

  1. 来到刚刚创建的地方,右键单击删除即可:

image-20241202122700277

  1. 弹出删除窗口,点确定:

    image-20241202122740631

  2. 删除后,不再存在zhangsan用户:

    image-20241202122813928

用T-SQL语句实现

DROP USER zhangsan

执行结果:

image-20241202122939023

执行该命令后,SQL_wwj用户也不存在:

image-20241202123012735

4 管理用户权限

用SSMS工具实现

  1. 点开刚刚新建用户的数据库,右键点属性:

    image-20241202125545132

    1. 进入属性页面后,点权限:

      image-20241202125636481

  2. 如果没有看到你更改新建的用户名,点搜索:

    image-20241202125735917

  3. 下方可以设置该用户的权限,需要先选中该用户,再设置我们想设置的权限,点确认即可:

    image-20241202125830875

  4. 现在我们给SQL_wwj用户,查看定义的权限:

    image-20241204081529714

用T-SQL语句实现

  1. 给予SQL_wwj创建表的权限:

    GRANT CREATE TABLE TO SQL_wwj
    

    执行命令结果:

    image-20241204081819265

    现在用户可以创建新表了:

    image-20241204085719897

  2. 收回授予SQL_wwj创建表的权限:

    REVOKE CREATE TABLE FROM SQL_wwj CASCADE;
    

    执行结果:

    image-20241204090017572

  3. 拒绝user1创建视图的权限:

       DENY CREATE VIEW TO SQL_wwj
    

    执行结果:

    image-20241204090910703

5 建立用户定义的角色

用SSMS工具实现

  1. 展开某个数据库,点安全性:

    image-20241204171425838

  2. 右键角色,点新建数据库角色:

    image-20241204171505400

  3. 填写内容后即可创建新的角色:

    image-20241204171656496

用T-SQL语句实现

  1. 创建用户自定义角色:CompDept,拥有者为创建该角色的用户。
CREATE ROLE CompDept;

执行结果:

image-20241204171802727

  1. 创建用户自定义角色:InfoDept,拥有者为 SQL_wwj。

    CREATE ROLE InfoDept AUTHORIZATION SQL_wwj;
    

    执行结果:

    image-20241204171913601

  2. 在刚刚的数据库角色文件夹中,可以看到我们创建的两个角色:

    image-20241204172014222

6 为用户定义的角色授权

用SSMS工具实现

和设置用户的权限一样步骤一样。

  1. 点对应的数据库。

  2. 右键属性。

  3. 选择对应角色,设置权限后,点确认。

    image-20241204172218845

用T-SQL语句实现

  1. 为InfoDept角色授予StudentManagementSystem数据库中Student表的查询权:

    GRANT SELECT ON Student TO InfoDept
    

    执行结果:

    image-20241204172418527

我们并没有,手动勾选Student对应角色的权限,执行上述命令后,自动勾选了:

image-20241204172703879

  1. CompDept角色授予数据库中Student表的增、删、改、查权:

     GRANT SELECT,INSERT,DELETE,UPDATE ON Student TO CompDept
    

    执行结果:

    image-20241204172829394

image-20241204172859484

7 为用户定义的角色添加成员

用SSMS工具实现

  1. 点开对应数据库,点安全性节点,再点角色,点数据库用户,右键要添加新成员的数据库角色:

    image-20241204173052964

  2. 点新建数据库角色,填写相关信息保存即可,所有者任意:

    image-20241204173215361

  3. 创建完新角色后,需要把这个角色添加进CompDept中,右键它,点属性:

    image-20241204173620704

用T-SQL语句实现

  1. 将SQL_wwj添加到当前数据库的CompDept角色中(假设该角色已存在)。

     EXEC sp_addrolemember 'CompDept', 'SQL_wwj'
    

    执行结果:

    image-20241204174045972

可以看到,现在该角色有两个成员了:

image-20241204174138363

8 删除用户定义角色中的成员

用SSMS工具实现

  1. 还是点开刚刚的属性页面,直接选择你想删除的角色,点删除后,点确认即可:

    image-20241204174311556

用T-SQL语句实现

  1. 删除CompDept角色中的SQL_wwj成员:

      EXEC sp_droprolemember 'CompDept','SQL_wwj'
    

    执行结果:

    image-20241204174438735

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/484416.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4.5 TCP 报文段的首部格式

欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅! 文章目录 前言1 TCP 报文段的基本结构2 固定部分2.1 源端口与目的端口2.2 序号2.3 确认号2.4 数据偏移2.5 保留字段2.6 控制位2.7 窗口2.8 检验和2.9 紧急指针 3 可变部分3.1 选项3.2 填…

青听云音乐项目总结

前言 先来介绍一下我的项目:青听云音乐,几乎完全参考网易云音乐网页版实现,使用的技术栈有SpringBoot、SpringCloud、Mybatis、Mybatis-Plus、Redis、Elasticsearch、RabbitMQ、Docker,也包括一些小技术的使用,比如 j…

openssl的运用

一、概述 Opssl是一个用于TLS/SSL协议的工具包,也是一个通用密码库。 包含了国密sm2 sm3 sm4,包含了对称加密,非对称加密,单项散列,伪随机、签名,密码交换,证书等一些算法库。 为了深层次的学习…

房屋租赁系统源码 SpringBoot + Vue 实现全功能解析

这是一套使用 SpringBoot 与 Vue 开发的房屋租赁系统源码,站长分析过这套源码,推测其原始版本可能是一个员工管理系统,经过二次开发后,功能被拓展和调整,现已完全适用于房屋租赁业务。 该系统功能完善,涉及房屋销售、租赁管理等。站长在测试部署过程中,发现源码结构清晰…

工业齐套管理虚拟现实仿真模拟软件

工业齐套管理虚拟现实仿真模拟软件是与法国最大的汽车制造商合作开发的一款虚拟现实仿真模拟软件,借助身临其境的虚拟现实环境,无需停止生产线,即可模拟仓库和提货区域。 工业齐套管理虚拟现实仿真模拟软件不仅适用于汽车工业,安全…

基于python爬虫的智慧人才数据分析系统

文末获取源码和万字论文,制作不易,感谢点赞支持。 废话不多说,先看效果图 更多效果图可私信我获取 源码分享 import os import sysdef main():"""Run administrative tasks."""os.environ.setdefault(DJANGO…

Android 分词的两种方式

前言: 本文分别介绍了原生和三方(Jieba)两种分词方式的使用和注意事项 1、安卓原生BreakIterator分词 比较简单,但是效果不太行 /*** 功能:原生分词* 参数:text:需要分词的语句* 返回值:return&#xf…

TCP Analysis Flags 之 TCP Spurious Retransmission

前言 默认情况下,Wireshark 的 TCP 解析器会跟踪每个 TCP 会话的状态,并在检测到问题或潜在问题时提供额外的信息。在第一次打开捕获文件时,会对每个 TCP 数据包进行一次分析,数据包按照它们在数据包列表中出现的顺序进行处理。可…

react 路由鉴权

权限路由一般两种 1中接口中返回菜单 2 接口中返回权限,前端做匹配 一般都是那种结合,react中没有vue那种钩子函数如何做? 在项目中写一个高阶函数,在高阶函数中判断权限、是否登录等操作app.tsx或者man.tsx中使用 《AuthRouter》…

【spring mvc】全局处理请求体和响应体

目录 说明实现效果逻辑图 实现步骤创建公共处理的请求和响应的类api接口测试前端请求响应结果 扩展Response响应格式实体ResponseCode 响应状态码RSA工具类 RequestBodyAdvice 介绍使用场景 ResponseBodyAdvice 介绍使用场景 说明 由于项目中需要进行加密传输数据提高项目安全…

FlyHttp 的设计思想:前端 API 自动化构建工具

FlyHttp的相关文章: FlyHttp 的诞生:从认识各种网络请求开始 FlyHttp 的设计思想:前端 API 自动化构建工具 FlyHttp 的使用:如何高效使用 FlyHttp,支持 JS、TS 项目 FlyHttp 的最佳实践:加速项目级 API…

在CentOS上无Parallel时并发上传.wav文件的Shell脚本解决方案

在CentOS上无Parallel时并发上传.wav文件的Shell脚本解决方案 背景概述解决方案脚本实现脚本说明使用指南注意事项在CentOS操作系统环境中,若需并发上传特定目录下的.wav文件至HTTP服务器,而系统未安装GNU parallel工具,我们可通过其他方法实现此需求。本文将介绍一种利用Sh…

springboot整合flowable工作流

1、工作流介绍 1.Flowable起源于Activiti工作流引擎,由Activiti的主要开发者在2016年创建。它继承了Activiti的众多优点,并在此基础上进行了优化和改进,以提供更加稳定、高效的工作流管理解决方案。Flowable与Activiti有着共同的祖先&#x…

Linux Shell 脚本题目集(2)

1、使用 case 语句根据用户输入的分数(0-100)输出相应的成绩等级(A, B, C, D)。 #! /bin/bashread -p "请输入您的分数(0-100):" score# 验证输入是否为数字且在0到100之间 if ! [[ …

交换机四大镜像(端口镜像、流镜像、VLAN镜像、MAC镜像)应用场景、配置实例及区别对比

在网络管理中,端口镜像、流镜像、VLAN镜像和MAC镜像都是用于监控和分析网络流量的重要技术。 端口镜像(Port Mirroring) 定义:端口镜像是将一个或多个源端口的流量复制到一个目标端口,以便于网络管理员能够监控和分析…

Redis(1)

Redis是一个在内存中存储数据的中间件。 1.在内存中存储数据。 通过数据结构来存储,mysql通过表的方式存储数据,是关系型数据库,redis通过键值对存储,key的类型是string,value的类型是非关系型数据库。 2.可编程的 …

基于Pyside6开发一个通用的在线升级工具

UI main.ui <?xml version"1.0" encoding"UTF-8"?> <ui version"4.0"><class>MainWindow</class><widget class"QMainWindow" name"MainWindow"><property name"geometry"&…

Linux 系统/etc目录下配置文件分类

目录 一、网络相关配置文件 主机名与 IP 映射类 /etc/hosts /etc/hostname 网络接口配置类 /etc/sysconfig/network-scripts/ifcfg-ens33 DNS 相关类 /etc/resolv.conf /etc/host.conf 网络服务相关类 /etc/hosts.allow文件 /etc/hosts.deny文件 /etc/netconfig …

自由学习记录(28)

C# 中的流&#xff08;Stream&#xff09; 流&#xff08;Stream&#xff09;是用于读取和写入数据的抽象基类。 流表示从数据源读取或向数据源写入数据的矢量过程。 C# 中的流类是从 System.IO.Stream 基类派生的&#xff0c;提供了多种具体实现&#xff0c;每种实现都针对…

Redis3——线程模型与数据结构

Redis3——线程模型与数据结构 本文讲述了redis的单线程模型和IO多线程工作原理&#xff0c;以及几个主要数据结构的实现。 1. Redis的单线程模型 redis6.0之前&#xff0c;一个redis进程只有一个io线程&#xff0c;通过reactor模式可以连接大量客户端&#xff1b;redis6.0为了…