2012-09-21 117 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管理您的數據庫... –