在SQL 中1.在服务器下创建一个名为“user12”的登陆名,密码为“123456”。 2.将该登陆名“user12”注册为“XSCJGL”数据库的用户并给数据库添加数据。3.给“user12”用户赋予“student”和“sc”的查询、插入权限。 4.赋予“user12”创建表的权限。 5.使用“user12”身份登陆,并验证所获得的查询、插入、创建表权限。 6.利用管理员身份,禁止用户“user12”所获得的权限。(deny) 7.使用“user12”身份登陆,并验证所获得的查询、插入、创建表权限。 8.利用管理员身份,收回用户“user12”所获得的权限。(revoke) 9.使用“user12”身份登陆,并验证所获得的查询、插入、创建表权限
时间: 2023-09-03 13:09:51 浏览: 84
1. 创建登陆名和密码:
```
CREATE LOGIN user12 WITH PASSWORD = '123456';
```
2. 注册为数据库用户并添加数据:
```
USE XSCJGL;
CREATE USER user12 FOR LOGIN user12;
INSERT INTO 表名 (列名1, 列名2) VALUES ('值1', '值2');
```
3. 赋予权限:
```
USE XSCJGL;
GRANT SELECT, INSERT ON 表名 TO user12;
GRANT SELECT, INSERT ON 另一个表 TO user12;
```
4. 赋予创建表权限:
```
USE master;
GRANT CREATE TABLE TO user12;
```
5. 使用“user12”身份登陆,并验证权限:
```
sqlcmd -S 服务器名 -U user12 -P 123456
USE XSCJGL;
SELECT * FROM 表名;
INSERT INTO 表名 (列名1, 列名2) VALUES ('值1', '值2');
CREATE TABLE 新表名 (列名1 数据类型, 列名2 数据类型);
```
6. 禁止权限:
```
USE XSCJGL;
DENY SELECT, INSERT, CREATE TABLE TO user12;
```
7. 使用“user12”身份登陆,并验证权限:
```
sqlcmd -S 服务器名 -U user12 -P 123456
USE XSCJGL;
SELECT * FROM 表名; -- 将会提示无权限
INSERT INTO 表名 (列名1, 列名2) VALUES ('值1', '值2'); -- 将会提示无权限
CREATE TABLE 新表名 (列名1 数据类型, 列名2 数据类型); -- 将会提示无权限
```
8. 收回权限:
```
USE XSCJGL;
REVOKE SELECT, INSERT, CREATE TABLE TO user12;
```
9. 使用“user12”身份登陆,并验证权限:
```
sqlcmd -S 服务器名 -U user12 -P 123456
USE XSCJGL;
SELECT * FROM 表名;
INSERT INTO 表名 (列名1, 列名2) VALUES ('值1', '值2');
CREATE TABLE 新表名 (列名1 数据类型, 列名2 数据类型);
```
将会顺利执行。
阅读全文