我有2个架构database1@server
和database2@server
。
我想知道如何授予database2从数据库1读取的权限。
在database2中执行的示例:
select * from database1..table1
答案 0 :(得分:1)
您必须确保database2
中的用户已添加到database1
(sp_adduser
或sp_addalias)。
您可以通过select user_name()
找到当前用户,并通过在该数据库中执行sp_helpuser
来获取数据库中的用户列表。
假设我们有db_user1和dbuser2,我们会添加这样的别名:
use database1
go
sp_addalias db_user2, dbuser1
go
从那时起,当db_user2访问database1时,它将具有db_user1的凭据,权限和特权。
如果添加用户,而不是添加别名,那么对于用户(或用户所属的组),架构中的表必须grant privileges。