SQL存储过程的问题

时间:2010-03-05 23:05:14

标签: sql-server-2005 sharepoint stored-procedures sharepoint-2007 moss

我可以在ULS日志中看到以下条目

02/08/2010 14:36:46.12 w3wp.exe(0x15F4)0x18A0 CMS发布8x0a高AppDomainUnloadListener.RegisterSelf()进入锁定(此= 15368010)

02/08/2010 14:37:25.59 w3wp.exe(0x15F4)0x1744 Windows SharePoint Services数据库880i高System.Data.SqlClient.SqlException:找不到存储过程'dbo.proc_GetDatabaseInformation'。

02/08/2010 14:37:32.53 w3wp.exe(0x15F4)0x1744 Windows SharePoint Services数据库98rs高尝试授予用户“X”访问SQL服务器上“Y”数据库时发生错误。如果调用者没有在sql server中执行此操作的权限或者数据库是只读的,则可能会出现这种情况。若要确保SharePoint正常运行,请在执行此操作之前手动授予此用户对数据库的访问权限。还必须授予用户对数据库中db_owner组的访问权限。此错误提供了以下信息:用户无权执行此操作。

02/08/2010 14:37:32.53 w3wp.exe(0x15F4)0x1744 Windows SharePoint Services数据库880i High System.Data.SqlClient.SqlException:用户无权执行此操作。

任何线索?

3 个答案:

答案 0 :(得分:0)

您有权限被拒绝的问题。如果您在数据库上设置了权限,并且刚刚添加了proc'dbo.proc_GetDatabaseInformation',则可能需要让用户访问它。具体而言,您的网站使用的任何用户。否则这些用户将无法调用该proc,您将看到上述错误。

答案 1 :(得分:0)

无论数据库用户调用此存储过程,都需要具有特定存储过程的执行权限或一般执行权限。您的客户端程序可能对应于一个或多个数据库用户。

GRANT EXECUTE ON dbo.proc_GetDatabaseInformation TO [DatabaseUserName]

答案 2 :(得分:0)

与dbo.proc_GetDatabaseInformation相关的错误是Sharepoint 2007基础结构更新的一个已知问题 - 微软表示您应该忽略该错误消息:http://support.microsoft.com/kb/951695