首页新闻找找看学习计划

Windows2008+SQLServer2005使用权限问题!求解

0
悬赏园豆:200 [已关闭问题] 关闭于 2012-10-08 17:00

Windows2008+SQLServer2005

这种环境已经可以运行。

但是有1个问题:以前给权限db_reader db_write等 不需要db_owner就可以正常运行

现在不给db_woner就不可以

但是又不想给这个db_woner

求解!!!

问题补充:

如果不给 db_owner 会出现这个错误:

 

ADODB.Command 错误 '800a0cc1' 在对应所需名称或序数的集合中,未找到项目。

 

现在的数据库所有者已经是dbo

但是为什么会出现这个问题呢 有点想不通。。。

小鱼2012的主页 小鱼2012 | 初学一级 | 园豆:14
提问于:2012-10-08 15:48
< >
分享
所有回答(2)
0

一般建立DB的时候,它的所有者db_owner是dbo,这时候就不用给db_owner权限,如果不是的话,好像要给的,你的可能就这个原因吧.

 

可以用这个改变所有者sp_changeobjectowner

hexllo | 园豆:405 (菜鸟二级) | 2012-10-08 15:58

你好 谢谢你的回答

如果不给db_owner的话 会出现这个错误

ADODB.Command 错误 '800a0cc1'

支持(0) 反对(0) 小鱼2012 | 园豆:14 (初学一级) | 2012-10-08 16:03
 

ADODB.Command 错误 '800a0cc1' 在对应所需名称或序数的集合中,未找到项目。

 

支持(0) 反对(0) 小鱼2012 | 园豆:14 (初学一级) | 2012-10-08 16:06

@小鱼2012: 你现在的所有者是dbo吗,比如你查表A的内容时,select * from dbo.a,你看能不能点出a来,如果不能的话就是你目前默认的所有者(db_owner)不是dbo,这时候就要用上边那个过程去改变一下,变成dbo看看可以不,如果还不可以的话就等其他人答案吧,我也不知道怎么弄了.

支持(0) 反对(0) hexllo | 园豆:405 (菜鸟二级) | 2012-10-08 16:08

@小鱼2012: 这个错误在你要查询的对象前加一个拥有者就给解决了,比如你的拥有者是xx,表名是a,那么就是select * from xx.a

支持(0) 反对(0) hexllo | 园豆:405 (菜鸟二级) | 2012-10-08 16:12

@小鱼2012: 你打开SSMS,这样看你当前用的表是属于哪个拥有者,如图.

支持(0) 反对(0) hexllo | 园豆:405 (菜鸟二级) | 2012-10-08 16:14

@hexllo: 

谢谢你的回答

现在的所有者是dbo

select * from dbo.a 这个也可以查询得到

支持(0) 反对(0) 小鱼2012 | 园豆:14 (初学一级) | 2012-10-08 16:18

@hexllo: 有的

支持(0) 反对(0) 小鱼2012 | 园豆:14 (初学一级) | 2012-10-08 16:19

@hexllo: 在程序里直接写查询没有问题,只是调用存储过程才回出现这个错误!

支持(0) 反对(0) 小鱼2012 | 园豆:14 (初学一级) | 2012-10-08 16:44
0

数据库本身没给相应的全新啊 汗!!!

小鱼2012 | 园豆:14 (初学一级) | 2012-10-08 16:59

没权限应该提示的是和权限想关的信息啊,可是你报的是没有找到项目,要么你调用的存储过程不属于dbo????

支持(0) 反对(0) hexllo | 园豆:405 (菜鸟二级) | 2012-10-09 10:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册