SQLserver创建用户zs,密码123456, 创建角色R1,并分配权限如下:student表的select、insert;sc表的delete、update(grade) 给用户zs分配角色R1 验证zs权限 回收zs在sc表的update(grade)权限 验证zs权限
时间: 2024-02-18 21:05:48 浏览: 205
好的,我可以帮您解决这个问题。以下是 SQL Server 中创建用户、角色以及分配权限的具体步骤:
1. 创建用户
您可以使用以下 SQL 命令创建用户 zs,并指定密码为 123456:
```
CREATE LOGIN zs WITH PASSWORD = '123456';
```
2. 创建角色
您可以使用以下 SQL 命令创建角色 R1:
```
CREATE ROLE R1;
```
3. 分配权限
您可以使用以下 SQL 命令分配权限:
```
GRANT SELECT, INSERT ON student TO R1;
GRANT DELETE, UPDATE(grade) ON sc TO R1;
```
4. 给用户分配角色
您可以使用以下 SQL 命令将角色 R1 分配给用户 zs:
```
EXEC sp_addrolemember 'R1', 'zs';
```
5. 验证用户权限
您可以使用以下 SQL 命令验证用户 zs 的权限:
```
EXECUTE AS LOGIN = 'zs';
SELECT * FROM student; -- 应该可以查询
INSERT INTO student VALUES ('test', 100); -- 应该可以插入
DELETE FROM sc; -- 应该无法删除
UPDATE sc SET grade = 90; -- 应该可以更新
REVERT;
```
6. 回收权限
您可以使用以下 SQL 命令回收用户 zs 在 sc 表的 update(grade) 权限:
```
DENY UPDATE(grade) ON sc TO zs;
```
7. 验证用户权限
您可以使用以下 SQL 命令验证用户 zs 的权限:
```
EXECUTE AS LOGIN = 'zs';
SELECT * FROM student; -- 应该可以查询
INSERT INTO student VALUES ('test', 100); -- 应该可以插入
DELETE FROM sc; -- 应该无法删除
UPDATE sc SET grade = 90; -- 应该无法更新
REVERT;
```
希望这些信息能够帮助到您!
阅读全文