
执行语句如下:
USE master
GO
--创建一个登录
Create LOGIN 登录名 WITH PASSWORD = 'xx'
GO
USE 你要授权的数据库
GO
--创建一个数据库的用户
Create USER 用户名 FOR LOGIN 登录名
GO
--授予db_owner权限
EXEC SP_ADDROLEMEMBER 'db_owner','用户名'
GO
--这样,该用户就只能在该数据库下 *** 作,包括添加,删除,修改等
1. SQL数据库分配权限打开SQL-Server管理工具安全性登陆名右键(新建登陆名)
输入相应的信息(这里要去掉强制实施密码策略,强制密码过期,用户在下次登录时必须修改密码的选择)
用户映射选择我们要设置权限的数据库通过选择数据库角色成员身份来设置新建用户的权限
一般对整个库做权限的时候都是需要所有权限勾选db_owner就可以了(确定)
这样就可以用我们新建的这个用户名来访问我们的数据库服务器了,而且这个用户名只拥有我们所勾选的数据库的所有权限。
2. SQL数据库对每个表分配权限
打开SQL-Server管理工具安全性登陆名右键(新建登陆名)
输入相应的信息(这里要去掉强制实施密码策略,强制密码过期,用户在下次登录时必须修改密码的选择)
用户映射选择我们要设置权限的数据库通过选择数据库角色成员身份来设置新建用户的权限
因为我们要对每个表进行单独的设置所以这里我们就不勾选db_owner了
打开我们刚才勾选的test数据库安全性用户中看到我们刚才新建的那个用户了。
找到新建的用户名右键属性
安全对像
添加
特定类型的所有对象确定
对象类型选择表
确定这样我们就能看到test数据库中的所有表了
接着我们再对每个表设置权限
我对两个表都是设置的Select权限确定这样我们用test_name登陆test数据库的时候只能对其中的两个表做Select *** 作不能做其它 *** 作
为数据库添加新的登录名,有两种方式:一:windows身份 二:sqlserver身份首先,采用windows或sa(超级管理员)身份登录本地数据库,展开数据库——安全性——登录名,右键新建登录名,
如上图所示,新建登录名“user_a”,选择sqlserver身份验证,设置密码,不勾选强制实施密码策略,确定。
创建完数据库,断开数据库连接,重新登录,使用新建的user_a的sqlserver身份登录。
可以发现登录成功,但不能访问自己创建的e_market数据库。
接下来,为e_market数据库创建用户名,并添加使用权限。
先断开数据库连接,使用windows身份或sa登录数据库;
方法一:
如上图所示,打开自己创建的要添加用户的数据库e_market,展开,选择安全性——用户——右键新建用户
在选择页——常规,创建带登录名的sql用户,登录名选择刚刚新建的登录名user_a,再自定义用户名;然后点击选择页——安全对象。
选择搜索——特定类型的所有对象——确定。
勾选表——确定。
为用户user_a添加想使用的权限,在授予栏打钩即可。
完成后,断开服务器连接,用user_a重新登录,检查。
没有赋予用户权限的用户,只能打开用户所属的数据库,但不能对数据库中的表进行 *** 作;所以加上权限一步是必须的。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)