sqlserver 给用户授权库权限 库存在 但是用户登录后看不到库
时间: 2024-03-09 18:50:23 浏览: 31
首先,你需要确保用户具有连接到 SQL Server 实例的权限。然后,你可以使用以下 SQL 语句授予用户对库的访问权限:
```
USE [master]
GO
GRANT VIEW ANY DATABASE TO [user_name];
GO
USE [your_database_name]
GO
EXEC sp_addrolemember N'db_datareader', N'user_name';
EXEC sp_addrolemember N'db_datawriter', N'user_name';
```
其中,`user_name`是你想要授权的用户名,`your_database_name`是你想要授予访问权限的数据库名称。
如果用户仍然无法看到库,请确保用户已经刷新了他们的数据库列表。你可以在 SQL Server Management Studio 中执行“刷新”操作来更新数据库列表。
相关问题
sqlserver 授权用户指定库权限
在 SQL Server 中,可以使用以下步骤为用户授权指定库权限:
1. 创建用户并分配登录账号
首先,需要创建一个用户并为其分配登录账号。可以使用以下语句创建一个名为 testuser 的用户,并将其绑定到一个名为 testlogin 的登录账号。
```
CREATE LOGIN testlogin WITH PASSWORD = 'mypassword';
CREATE USER testuser FOR LOGIN testlogin;
```
2. 授予数据库权限
使用以下语句授予 testuser 对指定数据库的增删改查权限。
```
USE MyDatabase;
GRANT INSERT, UPDATE, DELETE, SELECT ON MyDatabase TO testuser;
```
需要注意的是,MyDatabase 需要替换为实际的数据库名称。另外,可以根据需要调整授权的权限级别。
希望这可以回答你的问题。
sqlserver 给用户指定库视图及操作权限
要授予用户对特定库中的视图的访问权限,你可以使用以下 SQL 语句:
```
USE [your_database_name]
GO
GRANT SELECT ON [schema_name].[view_name] TO [user_name];
```
其中,`your_database_name`是你想要授权的数据库名称,`schema_name`是视图所在的模式名称,`view_name`是你想要授权的视图名称,`user_name`是你想要授权的用户名。
如果你想授予用户对视图的更多操作权限(例如,INSERT、UPDATE、DELETE等),你可以使用以下 SQL 语句:
```
USE [your_database_name]
GO
GRANT INSERT, UPDATE, DELETE ON [schema_name].[view_name] TO [user_name];
```
同样,`your_database_name`是你想要授权的数据库名称,`schema_name`是视图所在的模式名称,`view_name`是你想要授权的视图名称,`user_name`是你想要授权的用户名。
请注意,如果你想授予用户对视图的操作权限,用户必须具有对该视图所依赖的表的相应权限。