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

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


有哪位知道的帮忙解答一下
...全文
1569 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
304的的哥 2010-07-06
  • 打赏
  • 举报
回复
用户“TestAccount ”不存在,你怎么给他授权?
claro 2010-07-06
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 xingqi_2002 的回复:]

谁能告诉我问题的原因吗
[/Quote]yourself
xingqi_2002 2010-07-06
  • 打赏
  • 举报
回复
谁能告诉我问题的原因吗
xingqi_2002 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xman_78tom 的回复:]
创建登录帐户后,还需要在相应的数据库中创建与之对应用户帐户。然后,再对此用户帐户分配 select 权限。

SQL code

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

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

一个用户可能包含有几个登陆ID,如果给用户分配权限,那同属于用户的所有登录ID也就同时获得了该权限。就不是具体的某个登陆ID了
永生天地 2010-07-05
  • 打赏
  • 举报
回复
[sql server] 简明介绍sql server中的安全性 (用户、角色、权限)
http://blog.csdn.net/xys_777/archive/2010/07/03/5710355.aspx
xman_78tom 2010-07-05
  • 打赏
  • 举报
回复 1
创建登录帐户后,还需要在相应的数据库中创建与之对应用户帐户。然后,再对此用户帐户分配 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;
nightmaple 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xingqi_2002 的回复:]
我已经用这个用户登陆了,当时就是建这个用户测试权限分配的
[/Quote]

那你用别的用户登录,用个有select NorthwindSecure.dbo.Region 权限的用户登录。
xingqi_2002 2010-07-05
  • 打赏
  • 举报
回复
我已经用这个用户登陆了,当时就是建这个用户测试权限分配的
nightmaple 2010-07-05
  • 打赏
  • 举报
回复
你先执行如下,看看是否存在登录用户TestAccount

sp_helplogins 'TestAccount'
王向飞 2010-07-05
  • 打赏
  • 举报
回复
先创建这个用户
在赋予权限
SQL_Hhy 2010-07-05
  • 打赏
  • 举报
回复
看看你的数据库TestAccount 下的用户有TestAccount 没有
nightmaple 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 nightmaple 的回复:]
引用楼主 xingqi_2002 的回复:
TestAccount是我建立的一个登陆名,属于public角色
我用Grant Select on NorthwindSecure.dbo.Region to TestAccount 给TestAccount分配查询的权限,提示错误:
消息 15151,级别 16,状态 1,第 3 行
无法对 用户 'TestAccount' 执行 查找,因为……
[/Quote]

不好意思看错了,是授权给TestAccount~~~
SQL_Hhy 2010-07-05
  • 打赏
  • 举报
回复
用户不存在。。。。
nightmaple 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 xingqi_2002 的回复:]
TestAccount是我建立的一个登陆名,属于public角色
我用Grant Select on NorthwindSecure.dbo.Region to TestAccount 给TestAccount分配查询的权限,提示错误:
消息 15151,级别 16,状态 1,第 3 行
无法对 用户 'TestAccount' 执行 查找,因为它不存在,或者您没有所需的权限。

有哪位……
[/Quote]

你要先用TestAccount登录,再执行Grant Select on NorthwindSecure.dbo.Region to TestAccount语句
xingqi_2002 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sql_hhy 的回复:]
SQL code
--以下示例授予用户 TestAccount 对 NorthwindSecure 数据库中表 dbo.Region 的 SELECT 权限。

USE NorthwindSecure ;
GRANT SELECT ON OBJECT::dbo.Region TO TestAccount ;
GO
[/Quote]

你这个示例和我上面的语句有什么区别吗?
SQL_Hhy 2010-07-05
  • 打赏
  • 举报
回复
--以下示例授予用户 TestAccount 对 NorthwindSecure 数据库中表 dbo.Region 的 SELECT 权限。

USE NorthwindSecure ;
GRANT SELECT ON OBJECT::dbo.Region TO TestAccount ;
GO

22,297

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧