在SQL 中1.在服务器下创建一个名为“user12”的登陆名,密码为“123456”。 2.创建一个数据库XSCJGL并将该登陆名“user12”注册为“XSCJGL”数据库的用户并给数据库添加数据。3.给“user12”用户赋予“student”和“sc”的查询、插入权限。 4.赋予“user12”创建表的权限。 5.使用“user12”身份登陆,并验证所获得的查询、插入、创建表权限。 6.利用管理员身份,禁止用户“user12”所获得的权限。(deny) 7.使用“user12”身份登陆,并验证所获得的查询、插入、创建表权限。 8.利用管理员身份,收回用户“user12”所获得的权限。(revoke) 9.使用“user12”身份登陆,并验证所获得的查询、插入、创建表权限
时间: 2023-09-04 14:07:11 浏览: 153
1. 在服务器下创建一个名为“user12”的登陆名,密码为“123456”。
```
CREATE LOGIN user12 WITH PASSWORD = '123456';
```
2. 创建一个数据库XSCJGL并将该登陆名“user12”注册为“XSCJGL”数据库的用户并给数据库添加数据。
```
CREATE DATABASE XSCJGL;
USE XSCJGL;
CREATE USER user12 FOR LOGIN user12;
GO
```
3. 给“user12”用户赋予“student”和“sc”的查询、插入权限。
```
GRANT SELECT, INSERT ON student TO user12;
GRANT SELECT, INSERT ON sc TO user12;
```
4. 赋予“user12”创建表的权限。
```
GRANT CREATE TABLE TO user12;
```
5. 使用“user12”身份登陆,并验证所获得的查询、插入、创建表权限。
```
EXECUTE AS LOGIN = 'user12';
SELECT * FROM student;
INSERT INTO sc VALUES (1, 'John', 90);
CREATE TABLE test_table (id INT, name VARCHAR(50));
REVERT;
```
6. 利用管理员身份,禁止用户“user12”所获得的权限。(deny)
```
DENY SELECT, INSERT ON student TO user12;
DENY SELECT, INSERT ON sc TO user12;
DENY CREATE TABLE TO user12;
```
7. 使用“user12”身份登陆,并验证所获得的查询、插入、创建表权限。
```
EXECUTE AS LOGIN = 'user12';
SELECT * FROM student; -- 报错,没有权限
INSERT INTO sc VALUES (1, 'John', 90); -- 报错,没有权限
CREATE TABLE test_table (id INT, name VARCHAR(50)); -- 报错,没有权限
REVERT;
```
8. 利用管理员身份,收回用户“user12”所获得的权限。(revoke)
```
REVOKE SELECT, INSERT ON student FROM user12;
REVOKE SELECT, INSERT ON sc FROM user12;
REVOKE CREATE TABLE FROM user12;
```
9. 使用“user12”身份登陆,并验证所获得的查询、插入、创建表权限。
```
EXECUTE AS LOGIN = 'user12';
SELECT * FROM student; -- 报错,没有权限
INSERT INTO sc VALUES (1, 'John', 90); -- 报错,没有权限
CREATE TABLE test_table (id INT, name VARCHAR(50)); -- 报错,没有权限
REVERT;
```