Windows 認証を使用して SQL Server に接続しています。dbo
スキーマにストアド プロシージャを作成しました。SSMS でそのストアド プロシージャを実行しようとすると、次のエラーが発生します。
オブジェクト 'sp_test'、データベース 'myDB、スキーマ = dbo で実行権限が拒否されました
ここで何をする必要がありますか?
自分で作成したストアド プロシージャにアクセス許可を付与する必要があるのはなぜですか?
Windows 認証を使用して SQL Server に接続しています。dbo
スキーマにストアド プロシージャを作成しました。SSMS でそのストアド プロシージャを実行しようとすると、次のエラーが発生します。
オブジェクト 'sp_test'、データベース 'myDB、スキーマ = dbo で実行権限が拒否されました
ここで何をする必要がありますか?
自分で作成したストアド プロシージャにアクセス許可を付与する必要があるのはなぜですか?
ストアド プロシージャを作成したかどうかは関係ありません。SQL Server は、ストアド プロシージャを実行する権限があるかどうかを判断するために Windows 認証を使用しません。サーバーに接続する許可を与えるためにのみ使用します。接続したら、Windows アカウントをそれぞれのデータベースのユーザーにマップする必要があります。これを行ったら、通常、データベース ロールのメンバーになり (新しいロールを作成するか、事前定義されたロールのいずれかを使用します)、メンバーであるそのロールに実行権限を付与します。これにより、このロールのすべてのメンバーがストアド プロシージャを実行できるようになります。