实验4  数据的安全性管理

一、实验目的

  1. 掌握SQL Server身份验证模式。
  2. 掌握创建登录账户、数据库用户的方法。
  3. 掌握使用角色实现数据库安全性的方法。
  4. 掌握权限的分配。

二、实验内容

1、设置身份验证模式:Windows身份验证模式和混合模验证模式。

2、设置登录账户

3、设置数据库用户

4、设置数据库角色。

5、设置管理对象的权限

三、实验步骤

1.SQL Server服务器设置为混合身份验证模式

如果安装时使用的是”“Windows身份验证模式”,则按以下步骤可以将SQL Server服务器设置为“混合身份验证模式”。

  • 依次单击开始->所有程序->SQL Server->SQL Server Management Studio 启动SQL Server数据库管理系统
  • 连接成功后,右键一个服务器实例,选择"属性"
  • 在"属性"窗口中,转到"Security"(安全性)项,在"服务器身份验证"中设置为"SQL Server和Windows身份验证模式",确定,根据提示,应该重新启动SQL服务
  • 使用Windows身份验证登录,执行下面的语句启用sa用户,同时清除sa的密码(能成功登陆后再根据你的需要设置),也可在“新建查询”窗口中执行以下SQL语句完成。
EXEC sp_password null, '123','sa'ALTER LOGIN sa ENABLE
  • 检查Microsoft SQL Server→配置工具→SQL Server Configuration Manager中是否将相关协议启用并按提示重启服务。
  • 用sa登录连接,“服务器名称”以IP形式给出,如:127.0.0.1\SQLEXPRESS或172.16.67.158\SQLEXPRESS,(具体IP值查看本机或其他同学机器的“本地连接”,172.16.67.158只是示例),测试登录情况。
  • 如果不能登录127.0.0.1\SQLEXPRESS服务器,打开Microsoft SQL Server→配置工具→SQL Server Configuration Manager,启用“SQL Server Browser”服务,并打开“SQL Server网络配置”,启用“TCP/IP”并右击修改属性中ip地址127.0.0.1为启用。

2.创建登录名mylogin

  • 方法一:创建使用SQL Server身份验证的SQL Server登录名
  • 在SQL Server Management Studio中,打开对象资源管理器并展开要在其中创建新登录名的服务器实例的文件夹。
  • 右键单击“安全性”文件夹,指向“新建”,然后单击“登录名”。
  • 在“常规”页上的“登录名”框中输入一个新登录名的名称。
  • 选择“SQL Server身份验证”(注意:不要使用默认的“Windows身份验证”)。
  • 输入登录名mylogin及其密码123。
  • 选择应当应用于新登录名的密码策略选项。注意:不要钩选“下次登录时必须修改密码”。
  • 单击“确定”。
  • 用新创建的登录名登录系统,看看可以进行哪些操作,特别测试一下打开“学生_教学”数据库后的结果。
  • 方法二:通过Transact-SQL创建使用SQL Server身份验证的SQL Server登录名

    • 在查询编辑器中,输入以下Transact-SQL命令:
CREATE LOGIN mylogin WITH PASSWORD = '123';GO

3.创建数据库用户myuser并映射登录名mylogin

    通过SSMS将附件压缩包“案例数据库”中的“学生-教学”数据库(含mdfldf两个文件)导入到本地数据库中,然后执行以下操作:

  • 方法一:通过SQL Server Management Studio创建数据库用户

    • 打开对象资源管理器并展开要在其中创建新登录名的服务器实例文件夹。
    • 依次展开数据库,打开“学生-教学”数据库,点击“安全性”-“用户”
    • 右键单击用户,选择“新建用户”
    • 输入用户名myuser,选择登录名mylogin,确定。
      • 方法二:通过Transact-SQL创建数据库用户:
create user myuser for login mylogin with default_schema=dbo
  • 指定数据库用户“myuser”的默认schema是“dbo”。这意味着用户“myuser”在执行“select * from t”,实际上执行的是 “select * from dbo.t”。

4创建并设置数据库角色

  • 方法一:通过SQL Server Management Studio新建数据库角色

    • 打开对象资源管理器并展开要在其中创建新登录名的服务器实例文件夹
    • 依次展开数据库,某个具体数据库(例如:“学生-教学”数据库),选择“安全性”-“角色”
    • 右击选中新建数据库角色,输入角色名myrole,确定
      • 方法二:通过Transact-SQL新建角色:

CREATE ROLE myrole

5对用户赋予指定的角色

  • 方法一:在对象资源管理器中设置数据库角色

    • 在SQL Server Management Studio中,打开对象资源管理器并展开要在其中创建新登录名的服务器实例的文件夹。
    • 依次展开数据库,打开“学生-教学”数据库,点击“安全性”-“用户”
    • 选中“myuser”用户,右击“属性”,在展开的数据库用户属性对话框中为其赋予“db_owner”角色和“myrole”角色。
    • 方法二:通过Transact-SQL设置数据库角色
      • 通过加入数据库角色,对数据库用户“myuser”赋予权限:

exec sp_addrolemember 'db_owner', 'myuser'

此时,myuser就可以全权管理数据库“学生-教学”中的对象了。

  • 如果想让SQL Server登陆帐户“mylogin”访问多个数据库,比如S_T。可以让sa执行下面的语句:
use S_Tgocreate user myuser for login mylogin with default_schema=dbogoexec sp_addrolemember 'db_owner', 'myuser'go
  • 此时,mylogin就可以有两个数据库(“学生-教学”、“S_T”)的管理权限了!

6.设置管理对象的权限

  • 方法一:在对象资源管理器中授权、收回和拒绝权限:
  • 选中需要授权的登录名、用户名或角色名
  • 右键单击选择“属性”,在弹出的该对象的属性窗口中选择“安全对象”,进行权限分配。
    • 方法二:通过Transact-SQL分配权限:通过GRANTREVOKE语句

7. mylogin登录“127.0.0.1\SQLEXPRESS”服务器,在“学生_教学”数据库的Student表中进行增删改查的操作。示例如下。

四、实验任务

1、创建一个登录账号Testlogin。

2、在“学生_教学”数据库中创建对应于这个登录账号的数据库用户TestUser。

3、在“学生_教学”数据库中创建角色TestRole,它应该拥有创建表和视图的权限,并拥有对Student表的查询、修改、插入权限。

4、将用户TestUser添加到TestRole角色中。

5、以Testlogin登录“127.0.0.1\SQLEXPRESS”服务器,在“学生_教学”数据库的Student表中插入一条记录。

五、实验报告要求

1、写出完成实验任务1~4相对应的SQL语句

任务1:

CREATE LOGIN TestLogin WITH PASSWORD = '123';GO

任务2:

create user TestUser for login Testlogin with default_schema=dbo

任务3:

CREATE ROLE TestRolegrant create table,create view to TestRolegrant select,update,insert on Student to TestRole

任务4:

exec sp_addrolemember 'TestRole', 'TestUser'

2、给出实验任务5的执行界面截图。参照“实验步骤”中的最后一幅示例图,要求同时显示Testlogin登录“127.0.0.1\SQLEXPRESS”服务器的界面信息及在“学生_教学”数据库的Student表中插入一个名字为“王小飞”的学生记录。

use 学生_教学goINSERT INTO Student (Sno,Sname)VALUES(202005113,'王小飞')SELECT *FROM Student

3、并记录在实验过程中遇到的问题、解决办法及心得体会。

问题1:添加附件失败,如图:

原因:断开了windows身份验证,也没有登录sa的混合身份验证,而是直接进行了TestLogin身份验证,导致没有权限添加附件。

解决办法:在windows身份验证的连接下,再次进行sa的混合身份验证,这里才可以添加身份验证。当然,我也在网上搜了搜,打开了很多权限。

问题2:127.0.0.1\SQLEXPRESS没有连接上。

原因:脑子抽了,以为有选项可以供选择。

解决办法:网上搜了很多,也打开了很多权限,启动服务好多次。最后同学告诉我,这是手动输入。
问题3:

解决办法:要在学生-教学数据库里操作,添加use 学生_教学 go 语句。

心得体会:多练多学多问,继续加油。

实验4  数据的安全性管理相关推荐

  1. 实验 5   数据的完整性管理

    实验 5   数据的完整性管理 一.实验目的 掌握实体完整性的实现方法. 掌握用户定义完整性的实现方法. 掌握参照完整性的方法. 二.实验内容 数据库的完整性设置. 三.实验步骤 可视化界面的操作方法 ...

  2. 数据库实验三-数据控制(安全性部分)

    数据控制(安全性部分) 实验环境:Windows 10操作系统.MySQL 8.0.Navicat 实验内容与完成情况: 一.实验目的 (1)熟悉通过SQL对数据进行安全性控制. (2)完成书本上习题 ...

  3. 实验1 应用SQL Server进行数据定义和管理

    实验1 应用SQL Server进行数据定义和管理 [实验目的] 1)熟悉SQL Server的配置和管理. 2)掌握数据库的定义和修改方法. 3)掌握表的定义和修改方法. 4)掌握使用SQL语句进行 ...

  4. 【数据库实验课堂】实验二 使用SQL Server管理数据表

    实验二 使用SQL Server管理数据表: 1.请在指定数据库内完成以下内容: 1) 依据数据表的结构创建相对应的数据表,表结构如下所示: **学生信息表(student)**字段名称 字段类型及长 ...

  5. 数据库系统概论 实验报告答案 实验三:创建及管理数据表

    实验三:创建及管理数据表 一.实验目的 熟悉数据表的特点: 熟悉在Management Stuio中创建.编辑及删除数据表: 熟悉使用T-SQL创建.编辑及删除数据表: 二.实验学时 2学时 三.实验 ...

  6. 数据库系统概论 实验报告答案 实验二:创建及管理数据表

    实验二:创建及管理数据表 一.实验目的 掌握数据库模式的创建方法: 掌握数据表的特点: 掌握在Management Stuio中创建.编辑及删除数据表: 掌握使用T-SQL创建.编辑及删除数据表: 二 ...

  7. 数据科学、管理科学系课程教学课件——FineReport实验指导书节选====明细表、分组表、交叉表

      数据科学.管理科学系的数据大屏.数据报表.商务智能.管理信息系统等课程教学,只需简单的数据库基础,解放学生码代码的时间,用更真实的企业案例,更灵活的将思维落地.本节讲述的是通用报表的分析案例:明细 ...

  8. 数据科学、管理科学系课程教学课件——FineReport实验指导书节选====证券公司年度计划表

      数据科学.管理科学系课程教学,0基础也能掌握,本节讲述的是金融经管类专业的数据科学.管理科学系课程案例:证券公司年度计划表 使用数据   fredu数据库:成交量表,年收入趋势表,市值表,收盘价表 ...

  9. 数据科学、管理科学系课程教学课件——FineReport实验指导书节选====利润中心

      数据科学.管理科学系课程教学,0基础也能掌握,本节讲述的是金融经管类专业的数据科学.管理科学系课程案例:利润中心 使用数据   以下数据(Multi1除外)在各模板中均为SELECT * FROM ...

最新文章

  1. EdgeX Foundry理论篇
  2. Weka加载大数据量内存不足的解决办法
  3. python去掉字符串开头的零_Python / Pandas-删除以字符串开头的列
  4. 软件工程课设-----日程管理系统
  5. 【CodeForces - 514C】Watto and Mechanism(字符串哈希)
  6. 1-4 无监督学习(Unsupervised Learning)
  7. 简述计算机阶码表达什么,阶码
  8. 归并排序执行次数_一文了解C/C++经典排序算法
  9. WebWorker和Server-Sent Events和HTML5 WebSocket
  10. SolidWorks迈迪轴生成器使用注意事项
  11. css3 - 图标元素动画效果1 - 只执行一次动画
  12. 科研试剂半乳糖金刚烷衍生物934591-76-1,5-乙酰氨基-7,8,9-三-O-乙酰基-5-N,4-O-羰基-3,5-二脱氧-2-S-苯基-2-硫代-β-D-甘油-D-半乳-2-吡喃神经氨酸甲酯
  13. FileZilla快速部署
  14. 杰理-watch-手表-AC701-双击屏幕唤醒
  15. USB | USB设备状态
  16. 出版社、作者和图书 出版社类:属性:编号,出版社名称,地址 方法:显示出版社的信息 构造:无参构造方法、有参构造方法 作者类:属性:作者的编号,姓名 方法:显
  17. java处理图片 adobe_Adobe开发出一个反修图工具 还原人像PS 痕迹
  18. 为什么需要编译Android源代码
  19. 虎视眈眈的高端生肖酒
  20. 计算机科学与天文,计算机科学技术帮助天文学家探索宇宙

热门文章

  1. [hdu1828] Picture
  2. 针对七牛含有特殊字符的文件名,对特殊字符编码处理
  3. svn 提交信息模板
  4. 表单高级应用和语义化
  5. dispatch_queue_create(com.biostime.xxx, DISPATCH_QUEUE_SERIAL)的陷阱
  6. 微软BI 之SSAS 系列 - 在 SQL Server 2012 下查看 SSAS 分析服务的模型以及几个模型的简单介绍...
  7. IHttpHandler 概述
  8. c语言inline详解
  9. 淘宝网7年变化图--建议非美工UED人员也看看
  10. Java动态加载一个类的几种方法以及invoke