首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

一个数据库用户的有关问题,请

2011-12-31 
一个数据库用户的问题,请高手指点!公司的业务程序使用sqlserver2000后台数据库由于最初都是使用sa做客户端

一个数据库用户的问题,请高手指点!
公司的业务程序使用sqlserver2000后台数据库

由于最初都是使用sa做客户端和服务器的连接,觉得不安全,最近新创建了一个用户
aaa,没有给aaa任何服务器角色,只给了业务数据库db1的db_owner角色。

现在让客户端使用aaa用户连接服务器后,问题来了,某个业务报表使用一个后台存储过程ppp,ppp中有个创建函数fff的语句

IF   EXISTS(SELECT   *   FROM   SYSOBJECTS   WHERE   NAME= 'fff ')
DROP   FUNCTION   fff
BEGIN
EXEC( 'CREATE   FUNCTION   fff()
RETURNS   @tmptbl   TABLE(id   int,name   varchar(20)....).......... ')

然后存储过程ppp中有   select   .....from   fff()   语句

但是现在只要使用这个报表就会报错,提示对象名:fff不存在

看了一下企业管理器,有个叫fff用户自定义函数,所有者是aaa(以前当然是dbo)
现在用sa连接服务器,在查询分析器里面   再手动创建一个也叫fff的函数,所有者为dbo了,问题才能解决。

系统里面还有好多业务程序用到的自定义函数,难道都得分别为两个所有者创建吗?
到底怎样解决这类问题?

[解决办法]
把函数的exec的权限给这个用户不就可以了

热点排行