• SQLServer 授权权限


    1. SQLServer服务器级别,创建登录用户(create login)

    USE HIS
        create login WN010
        with password='123456',
        --must_change,                       --仅适用于SQL Server登录。如果包含此项,则SQLServer将在首次使用新登录时提示用户输入新密码。
        --sid=,
        default_database = HIS,
        --default_language=language,
        check_expiration=off,                --仅适用于SQL Server登录。指定是否对此登录账户强制实施密码过去策略。默认值off
        check_policy=off                     --仅适用于SQL Server登录。指定对应词登录强制实施运行SQLServer计算机的Windows密码策略。默认on
        --credential=sysadmin                --将映射到新SQLServer登录的凭据名称。该凭证必须已存在于服务器中。此前此选项将凭据链接到登录名。凭据不能映射到系统管理员(sa)登录名。

    2. 创建数据库用户(create user),习惯上,“数据库用户”的名字和“登录账户”的名字相同。

    create user WN010
    for login WN010
    with default_schema = dbo    --默认实例

    3. master数据库授权访问视图权限 否则无法执行update操作

    USE master
      grant view server state to WN010

    4. 自定义角色--只执行一次(创建updateHIS库中所有表的权限的角色)

    USE HIS
    GO
    EXEC sp_addrole 'updateroler' --删除自定义角色:EXEC sp_droprole 'updateroler' GRANT UPDATE TO updateroler10 --REVOKE UPDATE FROM updateroler
    --如果想授权指定表
     --GRANT UPDATE ON dbo.ZY_BRSYK TO updateroler

    5. 通过加入数据库角色,赋予数据库用户“db_datareader”制度权限医技update权限

    USE HIS
    GO
    exec sp_addrolemember 'db_datareader','WN010'    --通过加入数据库角色,赋予数据库用户db_datareader权限
    exec sp_addrolemember 'updateroler','WN010'    --再授予更新权限
    --删除角色成员
    --exec sp_droprolemember 'db_owner','WN002'
    /*
    角色名称 角色描述
    db_owner 数据库的拥有者,该角色的用户可以在数据库中执行任何操作。
    db_accessadmin 该角色的成员可以从数据库中增加或者删除用户。
    db_datareader 该角色的成员允许从任何表读取任何数据。
    db_datawriter 该角色的成员允许往任何表写入数据。
    db_ddladmin 该角色的成员允许在数据库中增加、修改或者删除任何对象(即可以执行任何DDL语句)。
    db_securtyadmin 该角色的成员可以更改数据库中的权限和角色。
    db_backupoperator 该角色的成员允许备份数据库。
    db_denydatareader 该角色的成员被拒绝查看数据库中的任何数据,但是他们仍然可以通过存储过程来查看。
    db_denydatawriter 像db_denydatareader角色,该角色的成员被拒绝修改数据库中的任何数据,但是他们仍然可以通过存储过程来修改。
    public 当尚未对某个用户授予或者拒绝对安全对象的特定权限时,这该用户将据称授予该安全对象的public角色的权限,这个数据库角色不能被删除
    */

    6. 授权用户访问多个数据库,WN010用户可以访问 HIS和CIS两个库

    use CIS
    go
    
    EXEC sp_addrole 'updateroler10'
    --EXEC sp_droprole 'updateroler10'
    GRANT UPDATE TO updateroler10
    go
    create user WN010 
    for login WN010 
    with default_schema=dbo
    go
    exec sp_addrolemember 'db_datareader','WN010'    --通过加入数据库角色,赋予数据库用户db_datareader权限
    exec sp_addrolemember 'updateroler10','WN010'    --再授予更新权限
    go

    7. 其他操作

    /*-----------------------------------------------------------------------------
    --1. 启用、禁用登录账户
    alter login WN010 disable
    alter login WN010 enable
    --2. 修改登录账户名称与密码
    alter login WN010 with name = WNCS
    alter login WN010 with password = '123456'
    --3.删除SQLServer登录账户
    drop login WN010
    
    --4. 修改数据库用户名、密码、数据库用户
    alter user WN010 with name = WNCS
    alter user WN010 with password = '123456'
    alter user WN010 with default_schema = sys
    --5.删除数据库用户
    drop user WN010
    -----------------------------------------------------------------------------*/

    8. 查询数据中所有用户角色以及服务器角色

    select * from sys.database_principals

     

     

  • 相关阅读:
    Hadoop入门
    Redis缓存分布式高可用架构原理
    ES分布式搜索引擎架构原理
    Java锁,多线程与高并发,JUC并发包
    图算法--拓扑序列
    数据结构--数组模拟队列
    数据结构--数组模拟栈
    数据结构--数组模拟双链表
    数据结构--数组模拟单链表
    基础算法--双指针
  • 原文地址:https://www.cnblogs.com/hemukg/p/14373700.html
Copyright © 2020-2023  润新知