0

ASP.NETまたはMSSQLについてはまったく詳しくありませんが、ASP.NETに基づくWebサイトを新しいホストに移行するように依頼されました。サイトをHostGatorWindows共有アカウントに移動しています。

サイトの小さな管理セクションには、背後にMSSQLデータベースがあります。以前のホストから.bakファイルでこのデータベースのコピーを取得しました。

HostGatorでMSSQLデータベースを作成し、バックアップファイルをインポートすることができました。データベースには、Webサイトからデータベースに接続するために使用されていたユーザーが付属していました。

このユーザーでDBに接続する前に、HostGatorは、「HostGatorUserName_UserName」の形式に準拠するようにユーザー名を変更するように強制しました。

次に、このユーザーでDBに正常に接続した後、「ストアドプロシージャが見つかりません」というエラーが発生しました。これはおそらく、ユーザーが以前に行ったストアドプロシージャにアクセスする権限を持っていないことが原因であることがわかりました。これはおそらくユーザー名が変更されたことが原因だと思います。

これらのストアドプロシージャへのアクセス許可をユーザーに復元する方法がわかりません。HostGatorはMSSQLのWeb管理者を提供しませんが、Oracle SQL Developer(Macを使用しています)を使用して(同じユーザーで)データベースに接続できました。ストアドプロシージャへのアクセス許可をユーザーに付与する方法をグーグルで検索しましたが、もちろん自分自身にアクセス許可を付与することはできません。Plesk on HostGatorで、既存のユーザーまたは自分が作成したユーザーのアクセス許可を管理できる場所が見つかりません。

4

1 に答える 1

1

これが HostGator から提供された唯一のログインである場合は、権限を昇格させる必要があります (おそらく、ユーザーを dbo ロールに追加することによって)。これはあなたが望んでいるものではないかもしれませんが、このデータベースが復元される前に何があったかはわかりません。他のデータベースにアクセスできるサーバーへのログインがありましたか?

接続するための別のログインも提供された場合、そのログインはおそらく dbo ロールにあります。したがって、そのユーザーとしてログインすると、次のことができます。

GRANT EXEC ON dbo.procedure_name TO HostGatorUserName_UserName;

(申し訳ありませんが、私は Plesk について何も知りません。また、HostGator サポートに問い合わせてアクセス権を整理してもらうと、おそらくより良い回答が得られるでしょう。)

于 2012-09-21T22:12:25.943 に答える