0

Windows 認証を使用して SQL Server に接続しています。dboスキーマにストアド プロシージャを作成しました。SSMS でそのストアド プロシージャを実行しようとすると、次のエラーが発生します。

オブジェクト 'sp_test'、データベース 'myDB、スキーマ = dbo で実行権限が拒否されました

ここで何をする必要がありますか?

自分で作成したストアド プロシージャにアクセス許可を付与する必要があるのはなぜですか?

4

1 に答える 1

2

ストアド プロシージャを作成したかどうかは関係ありません。SQL Server は、ストアド プロシージャを実行する権限があるかどうかを判断するために Windows 認証を使用しません。サーバーに接続する許可を与えるためにのみ使用します。接続したら、Windows アカウントをそれぞれのデータベースのユーザーにマップする必要があります。これを行ったら、通常、データベース ロールのメンバーになり (新しいロールを作成するか、事前定義されたロールのいずれかを使用します)、メンバーであるそのロールに実行権限を付与します。これにより、このロールのすべてのメンバーがストアド プロシージャを実行できるようになります。

于 2012-07-31T11:46:40.920 に答える