2012-09-21 63 views
0

我对ASP.NET或MS SQL根本不了解,但被要求将基于ASP.NET的网站迁移到新主机。我正在将该网站移至HostGator Windows共享帐户。授予用户对存储过程的权限

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

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

尽管在与此用户连接到数据库之前,HostGator强制我更改它的用户名以符合它们的格式“HostGatorUserName_UserName”。

然后,在用这个用户成功连接到数据库之后,我得到了“无法找到存储过程”的错误。我发现这可能是由于用户没有权限访问它之前的任何存储过程。我相信这可能是由于用户名已被更改。

现在我不知道如何将这些存储过程的权限恢复到用户。尽管我可以通过Oracle SQL Developer(我在Mac上)连接到数据库(使用同一用户),但HostGator并未为MS SQL提供任何Web管理员。我已经用google搜索了如何授予用户存储过程的权限,但我当然不能授予我自己的权限。我无法在HostGator上的Plesk中找到任何地方,我可以管理现有用户或我创建的用户的权限。

回答

0

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

如果他们也给了你不同的登录连接,那登录可能是dbo角色。所以,你可以登录为用户,然后:

GRANT EXEC ON dbo.procedure_name TO HostGatorUserName_UserName; 

(对不起,但我不知道的Plesk任何事情,如果你跟HostGator的支持得到理顺您的访问权限,你可能会得到更好的答案。 )

+0

我无法用任何现有用户连接到数据库,直到用户名更改为止,此时似乎他们对这些过程的所有权限都被剥夺了,并且他们无法授予任何权限。我创建的任何新用户似乎都没有任何权限。 – user192618

+0

因此,您可以创建用户,但无法授予权限?这听起来不对。首先,我将停止通过他们的控制面板并通过Management Studio管理您的数据库... –