• sqlserver 新建只读权限用户


    1,新建只能访问某一个表的只读用户。

    --添加只允许访问指定表的用户:
    execsp_addlogin'用户名','密码','默认数据库名'

    --添加到数据库
    execsp_grantdbaccess'用户名'

    --分配SELECT整表权限
    GRANTSELECTON表名TO[用户名]

    --分配SELECT权限到具体的列
    GRANTSELECTON表名(id,AA)TO[用户名]

    例如:

    --添加只允许访问指定表的用户:
    execsp_addlogin'read','123456','test'

    execsp_grantdbaccess'read'

    --分配SELECT整表权限

    GRANTSELECTONdbo.UserCardsTO[read]

    2,新建访问整一个数据库的只读用户

    --添加只允许访问指定表的用户:
    execsp_addlogin'用户名','密码','默认数据库名'

    --添加到数据库
    execsp_grantdbaccess'用户名'

    --添加到角色
    execsp_addrolemember'db_datareader','用户名'

    3,固定服务器角色

    sysadmin
    可以在SQLServer中执行任何活动。

    serveradmin
    可以设置服务器范围的配置选项,关闭服务器。

    setupadmin
    可以管理链接服务器和启动过程。

    securityadmin
    可以管理登录和CREATEDATABASE权限,还可以读取错误日志和更改密码。

    processadmin
    可以管理在SQLServer中运行的进程。

    dbcreator
    可以创建、更改和除去数据库。

    diskadmin
    可以管理磁盘文件。

    bulkadmin
    可以执行BULKINSERT语句。

    4,(用户映射)数据库角色成员身份

    db_owner执行数据库中的所有维护和配置活动。
    db_accessadmin添加或删除Windows用户、组和SQLServer登录的访问权限。
    db_datareader读取所有用户表中的所有数据。
    db_datawriter添加、删除或更改所有用户表中的数据。
    db_ddladmin在数据库中运行任何数据定义语言(DDL)命令。
    db_securityadmin修改角色成员身份并管理权限。
    db_backupoperator备份数据库。
    db_denydatareader无法读取数据库用户表中的任何数据。
    db_denydatawriter无法添加、修改或删除任何用户表或视图中的数据。

    如果要对SQL Server表分配只读权限,应该如何实现呢?下面就教您针对SQL Server表的只读权限分配方法,希望对您学习SQL Server表权限方面有所启迪。

    1. --先创建测试库test_tmp  
    2.  
    3. --根据现有的表创建两张表  
    4.  
    5. SELECT TOP 100 * INTO test_tab1 FROM mistest_09428.dbo.squarer;  
    6.  
    7. SELECT TOP 100 * INTO test_tab2 FROM mistest_09428.dbo.squarer;  
    8.  
    9. --创建角色  
    10. EXEC sp_addrole 'test_role1' ;  
    11.  
    12. --分配select的权限给角色test_role1  
    13. GRANT SELECT ON test_tab1 TO test_role1;  
    14. GRANT SELECT ON test_tab2 TO test_role1;  
    15.  
    16. --add登陆dap570,密码dap570,默认库为test_tmp  
    17. EXEC sp_addlogin 'dap570','dap570','test_tmp';  
    18.  
    19. --给dap570添加帐户test  
    20. EXEC sp_grantdbaccess 'dap570','test'  
    21.  
    22. --将角色test_role1分配给text  
    23. EXEC sp_addrolemember 'test_role1','test';  
    24. --over  
    25.  
    26. --换dap570来登录数据库test_tmp  
    27.  
    28. --然后测试  
    29.  
    30. /*  
    31. DELETE FROM  test_tab1  
    32.  
    33. INSERT INTO test_tab1(ingotno) VALUES('2222')  
    34.  
    35. UPDATE test_tab1 SET ingotno = '3333' 
    36. */  
  • 相关阅读:
    使用android-ndk官方ndkbuild例子
    小米8如何root
    Ubuntu点击dash home就崩溃
    Python自定义排序
    adb命令
    sqoop数据导出导入命令
    Docker命令详解
    如何输出第二列相同的行
    如何使用Xmanager及VNC登录远程桌面
    搭建GoldenGate的单向复制环境
  • 原文地址:https://www.cnblogs.com/event/p/4434952.html
Copyright © 2020-2023  润新知