在sqlsever中 创建数据库db13,切换至db13数据库,在其中创建sch架构 创建login13登录账号,口令为123456,默认数据库为db13。创建user13数据库用户,其默认架构为sch。 使得以上user13数据库用户在连接db13数据库后可以创建t表。 验证user13用户对其所建t表并未拥有增删查改权限,要使得以上user13用户可以对t表执行增删查改。 要使得以上user13用户可以对t表添加一新列。 创建ltian登录帐号,口令为tiantian,默认数据库为db13。
时间: 2024-03-12 13:45:54 浏览: 154
用sqlserver创建数据库
好的,您的问题是如何在 SQL Server 中完成以下操作:
1. 创建数据库db13,切换至db13数据库。
2. 在db13数据库中创建sch架构。
3. 创建login13登录账号,口令为123456,默认数据库为db13。
4. 创建user13数据库用户,其默认架构为sch。
5. 使得以上user13数据库用户在连接db13数据库后可以创建t表。
6. 验证user13用户对其所建t表并未拥有增删查改权限。
7. 要使得以上user13用户可以对t表执行增删查改。
8. 要使得以上user13用户可以对t表添加一新列。
9. 创建ltian登录帐号,口令为tiantian,默认数据库为db13。
下面是解决方案:
1. 创建数据库db13,切换至db13数据库:
```sql
CREATE DATABASE db13;
GO
USE db13;
```
2. 在db13数据库中创建sch架构:
```sql
CREATE SCHEMA sch;
GO
```
3. 创建login13登录账号,口令为123456,默认数据库为db13:
```sql
CREATE LOGIN login13 WITH PASSWORD = '123456', DEFAULT_DATABASE = db13;
GO
```
4. 创建user13数据库用户,其默认架构为sch:
```sql
CREATE USER user13 FOR LOGIN login13 WITH DEFAULT_SCHEMA = sch;
GO
```
5. 使得以上user13数据库用户在连接db13数据库后可以创建t表:
```sql
GRANT CREATE TABLE TO user13;
GO
```
6. 验证user13用户对其所建t表并未拥有增删查改权限:
```sql
CREATE TABLE t (id INT, name VARCHAR(50));
GO
EXECUTE AS USER = 'user13';
SELECT * FROM t;
INSERT INTO t VALUES (1, 'test');
UPDATE t SET name = 'test2' WHERE id = 1;
DELETE FROM t WHERE id = 1;
REVERT;
GO
```
在上面的代码中,我们使用 EXECUTE AS USER 将当前会话切换到 user13 用户,然后尝试查询、插入、更新、删除表 t 中的数据,这些操作都应该会失败,因为 user13 用户并没有这些权限。
7. 要使得以上user13用户可以对t表执行增删查改:
```sql
GRANT SELECT, INSERT, UPDATE, DELETE ON t TO user13;
GO
```
现在 user13 用户就拥有了对表 t 的增删查改权限。
8. 要使得以上user13用户可以对t表添加一新列:
```sql
ALTER TABLE t ADD age INT;
GO
GRANT ALTER ON t TO user13;
GO
```
在上面的代码中,我们先使用 ALTER TABLE 命令向表 t 中添加了一个新列 age,然后使用 GRANT 命令授权 user13 用户对表 t 进行 ALTER 操作。
9. 创建ltian登录帐号,口令为tiantian,默认数据库为db13:
```sql
CREATE LOGIN ltian WITH PASSWORD = 'tiantian', DEFAULT_DATABASE = db13;
GO
```
以上是解决方案,希望能够帮助到您。
阅读全文