生成sqlserver代码:导入Sale数据库(运行Test15_SaleDB.sql),完成下面操作。(可视化和T-SQL语句两种方式完成) 1、创建一个用户user1,使其仅能访问Sale数据库,且没有操作Sale数据库的其他任何权限。 2、授予用户user1权限,使其对Customer表可以进行SELECTT和INSERT操作。 3、测试user1的权限,写出测试过程并验证测试结果
时间: 2024-03-10 10:47:40 浏览: 175
这里是生成SQL Server代码的答案:
1. 创建用户user1并限制其访问Sale数据库
使用可视化方式:
```sql
1. 在SQL Server Management Studio中连接数据库,在Security->Logins文件夹上右键选择New Login.
2. 在General页面,输入Login name为user1。
3. 在User Mapping页面,勾选数据库Sale,并在下面的Database role membership中,只勾选db_datareader和db_datawriter,取消其他权限。
4. 点击OK完成创建。
```
使用T-SQL语句:
```sql
USE [master]
GO
CREATE LOGIN [user1] WITH PASSWORD=N'password', DEFAULT_DATABASE=[Sale], CHECK_POLICY=OFF
GO
USE [Sale]
GO
CREATE USER [user1] FOR LOGIN [user1] WITH DEFAULT_SCHEMA=[dbo]
GO
USE [Sale]
GO
EXEC sp_addrolemember N'db_datareader', N'user1'
GO
USE [Sale]
GO
EXEC sp_addrolemember N'db_datawriter', N'user1'
GO
```
2. 授予用户user1对Customer表的SELECT和INSERT权限
使用可视化方式:
```sql
1. 在SQL Server Management Studio中,选择Sale数据库,展开Security->Users文件夹,右键user1选择Properties。
2. 在User Properties页面,选择Membership,勾选db_datareader和db_datawriter。
3. 在Securables页面,点击Search,选择Customer表,勾选Grant的Select和Insert权限,取消其他权限。
4. 点击OK完成授权。
```
使用T-SQL语句:
```sql
USE [Sale]
GO
GRANT SELECT, INSERT ON [dbo].[Customer] TO [user1]
GO
```
3. 测试user1的权限
测试过程:
```sql
1. 使用SSMS,连接Sale数据库,选择New Query。
2. 使用user1登录,尝试SELECT、INSERT其他表,应该会被拒绝。
3. SELECT、INSERT Customer表,应该可以成功。
```
测试结果:
```
测试结果正常,user1只能访问并操作Customer表。
```
阅读全文