授予用户对存储过程的权限

时间:2012-09-21 22:04:59

标签: sql-server stored-procedures plesk

我根本不了解ASP.NET或MS SQL,但被要求将基于ASP.NET的网站迁移到新主机。我正在将该站点移动到HostGator Windows共享帐户。

网站的一个小管理部分后面有一个MS SQL数据库。我从前一个主机的.bak文件中获取了该数据库的副本。

我能够在HostGator中创建MS SQL数据库并将备份文件导入其中。数据库附带了一个用户,用于从网站连接到数据库。

虽然在能够使用此用户连接到数据库之前,HostGator强制我更改其用户名以符合其“HostGatorUserName_UserName”格式。

然后在用这个用户成功连接到DB之后,我收到了“找不到存储过程”错误。我发现这可能是由于用户没有权限访问它之前执行的任何存储过程。我相信这可能是因为用户名已被更改。

现在我不知道如何将这些存储过程的权限还原给用户。虽然我能够使用Oracle SQL Developer(我在Mac上)连接到数据库(使用相同的用户),但HostGator不为MS SQL提供任何Web管理员。我已经用谷歌搜索了如何向用户授予存储过程的权限,但当然我无法向自己授予权限。我在HostGator的Plesk找不到任何地方,我可以在那里管理现有用户或我创建的用户的权限。

1 个答案:

答案 0 :(得分:0)

如果这是HostGator为您提供的唯一登录,那么他们需要提升权限(可能通过将用户添加到dbo角色)。这可能不是你想要的,但我不清楚这个数据库恢复之前到底是什么。您是否登录了可以访问其他数据库的服务器?

如果他们还为您提供了不同的登录名,那么该登录名可能是dbo角色。因此,您可以以该用户身份登录,然后:

GRANT EXEC ON dbo.procedure_name TO HostGatorUserName_UserName;

(抱歉,我对Plesk一无所知。如果你与HostGator支持人员谈话以获得你的访问权限,你可能会得到更好的答案。)