zoukankan      html  css  js  c++  java
  • SQl Server 中登录名 、用户、角色、概念一览

     

     
     
     
     
    数据库,角色,用户,安全
     
         登录SQL server 2008可以用windows身份验证也可以用sql server身份验证,不论那种,进入数据库后
     
    都拥有超级用户的权限,这显然是不太安全的。合理的做法是:对于一个数据库,应该是由不同权限的用户
     
    进行操作和管理。
     
           本博文将结合一个例子来讲解如何建立数据库,并为数据库建立不同权限的用户。
     
           一、登录数据库管理系统(首先要打开SQL Server数据库服务)
     
           1、用windows身份验证登录
     
     
            2、用sql server身份验证登录,默认的登录名是sa,如果密码忘记了可以用windows身份登录后,进入
     
    更改。安全性->登录名->双击sa->设置密码。
     
     
              二、建立数据库library
     
              1、数据库->新建数据库
     
     
             2、填写数据库名称
     
     
             三、为数据库library建立基本表:学生表student、图书表book、借阅表borrow。并各导入一定的数据。
     
            四、创建用户。
     
            这里为简单起见,只创建两个用户——学生用户(student_user)、管理员用户(admin_user)。其中学
     
    生用户只能查阅(select),而管理员用户可以查阅(select)、更新(update)、插入(insert)、删除(delete)。
     
            1、首先要创建登录名,并未登录名指定用户
     
                  ①学生用户 
    [sql] 
    use library  
    go  
    create login stu with password='123';  
      
    use library  
    go  
    create user student_user for login stu;  
                  ②管理员用户
     
    [sql] 
    use library  
    go  
    create login stu with password='123';  
      
    use library  
    go  
    create user student_user for login stu;  
             
               2、创建角色并未角色授权
     
                    ①学生角色
     
    [sql] 
    create role student_role;  
    grant select on book to student_role;  
    grant select on borrow to student_role;  
    grant select on student to student_role;  
                    ②管理员角色
     
    [sql] 
    create role admin_role;  
    grant select,update,delete,insert on book to admin_role;  
    grant select,update,delete,insert on borrow to admin_role;  
    grant select,update,delete,insert on student to admin_role;  
     
                3、将角色授予用户。student_role授予student_user,admin_role授予admin_user。
     
                      ①student_role授予sthdent_user
     
    [sql] 
    exec sp_addrolemember   
    @rolename='student_role',  
    @membername='student_user';  
                      ②admin_role授予admin_user
     
    [sql] 
    exec sp_addrolemember   
    @rolename='admin_role',  
    @membername='admin_user';  
     
                五、分别用stu和admin登录,可以发现stu登录后只能对基本表进行查询操作,而admin登录后除了可以
     
    查询外,还可以插入、删除、更新。这样就达到了博文开始时所述,不同权限的用户进行不同的操作,从而使
     
    得数据库更加安全。
     
  • 相关阅读:
    宿主机( win 7 系统) ping 虚拟机VMware( cent os 6.6 ) 出现“请求超时”或者“无法访问目标主机”的解决方法
    Java实现 LeetCode 23 合并K个排序链表
    Java实现 LeetCode 23 合并K个排序链表
    Java实现 LeetCode 23 合并K个排序链表
    Java实现 LeetCode 22 括号生成
    Java实现 LeetCode 22 括号生成
    Java实现 LeetCode 22 括号生成
    Java实现 LeetCode 21 合并两个有序链表
    Java实现 LeetCode 21 合并两个有序链表
    Java实现 LeetCode 21 合并两个有序链表
  • 原文地址:https://www.cnblogs.com/java2016/p/5386562.html
Copyright © 2011-2022 走看看