在Sql server2014中,如何让新建的用户只能看到固定的数据库!!!
来源:https://blog.csdn.net/kiko0316/article/details/95976557
任务:新建用户及数据库,并指定该用户只能看到指定的数据库,并只能对该数据库进行操作。
遇到的问题:新建后还是能看到别的数据库。建立的用户没有办法彻底删除。
-------------------------------------------------------我是操作方法分界线---------------------------------------------------------------
任务:新建用户lcdsx_manage,密码:123456,新建一个数据库:lcdsx
权限:lcdsx_manage用户只允许查看和操作lcdsx数据库,不能看到其他数据库
第一步:
进入超管账户,右击‘数据库’,选择‘新建数据库’,输入你要创建的数据库名称,根据你的需求建立初始大小
第二步:右击‘登录名’,选择‘新建登录名’,在里面输入要建登录名和密码,其余没有特殊要求都不要勾选,数据库默认的就可以(网上很多让在这里选择指定能看到的数据库,我试验了几次,选择了的话,进入新建的用户还是会看到别的数据库,这里先选默认的,后续用语句更改数据库的所属就可以)

权限可以按需求选择,这里不选择也可以以后再选择。

当你创建完发现还有权限要加的话,可以在选择‘数据库’,选择指定的数据库,选择安全性—用户—右击指定用户—选择成员身份,也可以进行权限的添加。

第三步:点击‘新建查询’,输入‘ALTER AUTHORIZATION ON DATABASE::MyDBName TO test_denglm;’(MyDBName是你的数据库名,test_denglm是你的用户名,这里就是指定数据库MyDBName的所有者是test_denglm,我这里输入的是alter authorization on database::lcdsx to lcdsx_manage)
执行后,再登陆账户‘lcdsx_manage’能发现就只能看到lcdsx一个数据库了

--我是遇到问题分界线-----------------------------------------------------------
在操作过程中,我想把建的多余的用户删掉,但是删除的时候报了下图这个错误。错误原因是:因为已经给用户赋予在某个数据库上了,所以就要将该用户游拥有的数据库权限改掉,还是同样的方法:alter authorization on database::lcdsx to sa(先把数据库给超管),再右击用户名选删除,就可以彻底删除(注意:新建和删除,都要在安全性—登录名里操作)
若还是报这类的错误,可以到对应的数据库中,选择‘+’,展开后,选择安全性,选择用户,在用户里面删除,也是可以的

我是各个权限含义的分界线-------------------------------------------------------
服务器角色:(低级→高级)
1.bulkadmin:这个角色可以运行BULK INSERT语句.该语句允许从文本文件中将数据导入到SQL Server2008数据库中,为需要执行大容量插入到数据库的域帐号而设计.
2.dbcreator:这个角色可以创建,更改,删除和还原任何数据库.不仅适合助理DBA角色,也可能适合开发人员角色.
3.diskadmin:这个角色用于管理磁盘文件,比如镜像数据库和添加备份设备.适合助理DBA
4.processadmin:管理在 SQL Server 实例中运行的进程。
5.publi::有两大特点:第一,初始状态时没有权限;第二,所有数据库用户都是它的成员
6.securityadmin:这个角色将管理登录名及其属性.可以授权,拒绝和撤销服务器级/数据库级权限.可以重置登录名和密码(管理服务器登录和 CREATE DATABASE 权限,还可以读取错误日志和更改密码)
7.serveradmin:这个角色可以更改服务器范围的配置选项和关闭服务器
8.setupadmin:添加和删除链接服务器,并执行某些系统存储过程。为需要管理联接服务器和控制启动的存储过程的用户而设计。
9.sysadmin: 在 SQL Server 中进行任何活动。该角色的权限跨越所有其它固定服务器角色。
数据库角色:
1.db_accessadmin:数据库访问管理员;可以在数据库中添加和删除数据库用户, 组及角色
2.db_backupoperator:数据库备份操作员;可以备份数据库
3.db_datareader:数据库数据读取者;可以读取任何表中的数据
4.db_datawriter: 数据库数据写入者;可以添加、更改或删除所有表中的数据
5.db_ddladmin: 数据库 DDL 管理员;可以添加、更改或删除数据库对象(即可以执行任何DDL语句)
6.db_denydatareader: 数据库拒绝数据读取者;不能读取任何表中的数据,但仍然可以通过存储过程来查看
7.db_denydatawriter: 数据库拒绝数据写入者;不能更改任何表中的数据,但仍然可以通过存储过程来修改
8.db_owner: 数据库所有者;执行任何操作
9.db_securityadmin: 数据库安全管理员;可以更改数据中的权限和角色
10.public:每个数据库用户都属于public角色.未对用户授权之前,该用户将被授予public角色的权限.该角色不能被删除

————————————————
版权声明:本文为CSDN博主「kiko0316」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kiko0316/article/details/95976557

浙公网安备 33010602011771号