zoukankan      html  css  js  c++  java
  • SQL Server 基本权限管理[备忘]

     

    在SQL Server 中,使用系统的存储过程管理登录名,主要包括:

    sp_addlogin       sp_droplogin       sp_helplogins

    sp_grantlogin     sp_revokelogin    sp_denylogin

    需要注意的是:这些系统的存储过程必须master 数据库中使用。

     

    以下代码实现简单的三层权限:

    use S100801A
    go

    --======================= 数据库登录 =======================
    --
    添加登录用户(sp_addlogin '用户名','密码','默认数据库名')
    exec sp_addlogin N'xg',N'xg123'
    -- 或者
    exec sp_addlogin N'xg',N'xg123',N'master'

    --移除登录用户
    exec sp_droplogin N'xg'

    --======================= 数据库访问 =======================

    --添加数据库访问用户(sp_grantdbaccess '用户名','数据库名')
    use S100801A
    go
    exec sp_grantDBaccess N'xg',N'db_xg'

    --移除数据库访问用户 
    exec sp_revokeDBaccess N'db_xg'

    --======================= 数据库权限 =======================

    --授予对数据库的所有权限(sp_addRoleMember '角色','用户')
    exec sp_addRoleMember N'db_owner',N'db_xg'
    --只能访问自己的数据库,及guest用户的公共表      

    --移除对数据库的所有权限(sp_dropRoleMember '角色','用户')
    exec sp_dropRoleMember N'db_owner',N'db_xg'


    /*==========================================================================
    重要事项:
    后续版本的 Microsoft SQL Server 中,将删除使用‘系统存储过程’实现访问权限的相关功能。
    为了避免在新的开发工作中使用该功能,应着手修改实现该功能的方式。
    ==========================================================================*/

    改用实现方式如下:
    --以下示例首先创建名为‘xg’且具有密码的服务器登录名,
    --
    然后在数据库‘S100801A’中创建用户‘abo_xg’对应登录名‘xg’。

    --添加登录用户
    create login xg with password = 'xg123';

    --移除登录用户
    drop login xg;

    --添加数据库访问用户
    use S100801A;
    create user dbo_xg for login xg;
    go 

    --移除数据库访问用户
    use S100801A;
    drop user dbo_xg;
    go
     
    --分布权限
    grant insert,select,update,delete on students to public --dbo_xg    
    revoke insert,select,update,delete on students from public --dbo_xg

    -- grant all on Students to aa_0801
    --
     revoke all on students  from aa_0801

    使用SQL 命令分配权限时,可以通过使用 grant、deny、revoke 等命令实现。

     

    作者: XuGang   网名:钢钢
    出处: http://xugang.cnblogs.com
    声明: 本文版权归作者和博客园共有。转载时必须保留此段声明,且在文章页面明显位置给出原文连接地址!
  • 相关阅读:
    单机RedHat6.5+JDK1.8+Hadoop2.7.3+Spark2.1.1+zookeeper3.4.6+kafka2.11+flume1.6环境搭建步骤
    kafka_2.11-0.8.2.1+java 生产消费程序demo示例
    Kafka使用log.retention.hours改变消息端的消息保存时间
    Apache Kafka监控之KafkaOffsetMonitor
    Apache Kafka监控之Kafka Web Console
    Kafka三款监控工具比较
    linux查看本机IP、gateway、dns
    kafka_2.11-0.8.2.1生产者producer的Java实现
    linux下杀死进程(kill)的N种方法
    Linux查看硬件配置命令
  • 原文地址:https://www.cnblogs.com/xugang/p/1940245.html
Copyright © 2011-2022 走看看