Grant设置权限的查找用户的问题

时间:2021-12-03 05:30:53
TestAccount是我建立的一个登陆名,属于public角色
我用Grant Select on NorthwindSecure.dbo.Region to TestAccount 给TestAccount分配查询的权限,提示错误:
消息 15151,级别 16,状态 1,第 3 行
无法对 用户 'TestAccount' 执行 查找,因为它不存在,或者您没有所需的权限。


有哪位知道的帮忙解答一下

16 个解决方案

#1


--以下示例授予用户 TestAccount 对 NorthwindSecure 数据库中表 dbo.Region 的 SELECT 权限。
 
USE NorthwindSecure ;
GRANT SELECT ON OBJECT::dbo.Region TO TestAccount ;
GO
 

#2


引用 1 楼 sql_hhy 的回复:
SQL code
--以下示例授予用户 TestAccount 对 NorthwindSecure 数据库中表 dbo.Region 的 SELECT 权限。
 
USE NorthwindSecure ;
GRANT SELECT ON OBJECT::dbo.Region TO TestAccount ;
GO


你这个示例和我上面的语句有什么区别吗?

#3


引用楼主 xingqi_2002 的回复:
TestAccount是我建立的一个登陆名,属于public角色
我用Grant Select on NorthwindSecure.dbo.Region to TestAccount 给TestAccount分配查询的权限,提示错误:
消息 15151,级别 16,状态 1,第 3 行
无法对 用户 'TestAccount' 执行 查找,因为它不存在,或者您没有所需的权限。

有哪位……


你要先用TestAccount登录,再执行Grant Select on NorthwindSecure.dbo.Region to TestAccount语句

#4


用户不存在。。。。

#5


引用 3 楼 nightmaple 的回复:
引用楼主 xingqi_2002 的回复:
TestAccount是我建立的一个登陆名,属于public角色
我用Grant Select on NorthwindSecure.dbo.Region to TestAccount 给TestAccount分配查询的权限,提示错误:
消息 15151,级别 16,状态 1,第 3 行
无法对 用户 'TestAccount' 执行 查找,因为……


不好意思看错了,是授权给TestAccount~~~

#6


看看你的数据库TestAccount 下的用户有TestAccount 没有 Grant设置权限的查找用户的问题

#7


先创建这个用户 
在赋予权限

#8


你先执行如下,看看是否存在登录用户TestAccount

sp_helplogins 'TestAccount'

#9


我已经用这个用户登陆了,当时就是建这个用户测试权限分配的

#10


引用 9 楼 xingqi_2002 的回复:
我已经用这个用户登陆了,当时就是建这个用户测试权限分配的


那你用别的用户登录,用个有select NorthwindSecure.dbo.Region 权限的用户登录。

#11


创建登录帐户后,还需要在相应的数据库中创建与之对应用户帐户。然后,再对此用户帐户分配 select 权限。

-- 具体步骤(SQL 2005)
create login [test] with password='';
go

use NorthwindSecure;
go
create user [test] from login [test];
go

grant select on dbo.Region to [test];
go

-- 测试
execute as user='test';
select SUSER_NAME() loginame,USER_NAME() username;
select * from dbo.Region;
revert;

#12


[sql server] 简明介绍sql server中的安全性 (用户、角色、权限)
http://blog.csdn.net/xys_777/archive/2010/07/03/5710355.aspx

#13


引用 11 楼 xman_78tom 的回复:
创建登录帐户后,还需要在相应的数据库中创建与之对应用户帐户。然后,再对此用户帐户分配 select 权限。

SQL code

-- 具体步骤(SQL 2005)
create login [test] with password='';
go

use NorthwindSecure;
go
create user [test] from login [test];
go……


一个用户可能包含有几个登陆ID,如果给用户分配权限,那同属于用户的所有登录ID也就同时获得了该权限。就不是具体的某个登陆ID了

#14


谁能告诉我问题的原因吗

#15


引用 14 楼 xingqi_2002 的回复:
谁能告诉我问题的原因吗
yourself

#16


用户“TestAccount ”不存在,你怎么给他授权?

#1


--以下示例授予用户 TestAccount 对 NorthwindSecure 数据库中表 dbo.Region 的 SELECT 权限。
 
USE NorthwindSecure ;
GRANT SELECT ON OBJECT::dbo.Region TO TestAccount ;
GO
 

#2


引用 1 楼 sql_hhy 的回复:
SQL code
--以下示例授予用户 TestAccount 对 NorthwindSecure 数据库中表 dbo.Region 的 SELECT 权限。
 
USE NorthwindSecure ;
GRANT SELECT ON OBJECT::dbo.Region TO TestAccount ;
GO


你这个示例和我上面的语句有什么区别吗?

#3


引用楼主 xingqi_2002 的回复:
TestAccount是我建立的一个登陆名,属于public角色
我用Grant Select on NorthwindSecure.dbo.Region to TestAccount 给TestAccount分配查询的权限,提示错误:
消息 15151,级别 16,状态 1,第 3 行
无法对 用户 'TestAccount' 执行 查找,因为它不存在,或者您没有所需的权限。

有哪位……


你要先用TestAccount登录,再执行Grant Select on NorthwindSecure.dbo.Region to TestAccount语句

#4


用户不存在。。。。

#5


引用 3 楼 nightmaple 的回复:
引用楼主 xingqi_2002 的回复:
TestAccount是我建立的一个登陆名,属于public角色
我用Grant Select on NorthwindSecure.dbo.Region to TestAccount 给TestAccount分配查询的权限,提示错误:
消息 15151,级别 16,状态 1,第 3 行
无法对 用户 'TestAccount' 执行 查找,因为……


不好意思看错了,是授权给TestAccount~~~

#6


看看你的数据库TestAccount 下的用户有TestAccount 没有 Grant设置权限的查找用户的问题

#7


先创建这个用户 
在赋予权限

#8


你先执行如下,看看是否存在登录用户TestAccount

sp_helplogins 'TestAccount'

#9


我已经用这个用户登陆了,当时就是建这个用户测试权限分配的

#10


引用 9 楼 xingqi_2002 的回复:
我已经用这个用户登陆了,当时就是建这个用户测试权限分配的


那你用别的用户登录,用个有select NorthwindSecure.dbo.Region 权限的用户登录。

#11


创建登录帐户后,还需要在相应的数据库中创建与之对应用户帐户。然后,再对此用户帐户分配 select 权限。

-- 具体步骤(SQL 2005)
create login [test] with password='';
go

use NorthwindSecure;
go
create user [test] from login [test];
go

grant select on dbo.Region to [test];
go

-- 测试
execute as user='test';
select SUSER_NAME() loginame,USER_NAME() username;
select * from dbo.Region;
revert;

#12


[sql server] 简明介绍sql server中的安全性 (用户、角色、权限)
http://blog.csdn.net/xys_777/archive/2010/07/03/5710355.aspx

#13


引用 11 楼 xman_78tom 的回复:
创建登录帐户后,还需要在相应的数据库中创建与之对应用户帐户。然后,再对此用户帐户分配 select 权限。

SQL code

-- 具体步骤(SQL 2005)
create login [test] with password='';
go

use NorthwindSecure;
go
create user [test] from login [test];
go……


一个用户可能包含有几个登陆ID,如果给用户分配权限,那同属于用户的所有登录ID也就同时获得了该权限。就不是具体的某个登陆ID了

#14


谁能告诉我问题的原因吗

#15


引用 14 楼 xingqi_2002 的回复:
谁能告诉我问题的原因吗
yourself

#16


用户“TestAccount ”不存在,你怎么给他授权?