0

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

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

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

虽然在能够与该用户连接到数据库之前,HostGator 强迫我更改它的用户名以符合他们的“HostGatorUserName_UserName”格式。

然后在使用此用户成功连接到数据库后,我收到“找不到存储过程”错误。我发现这可能是由于用户无权访问它之前所做的任何存储过程。我相信这可能是由于用户名已更改。

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

4

1 回答 1

1

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

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

GRANT EXEC ON dbo.procedure_name TO HostGatorUserName_UserName;

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

于 2012-09-21T22:12:25.943 回答