構成ファイルを読み取り、接続文字列を取得するC#アプリを作成しました。接続文字列ごとに、ストアドプロシージャのリストを読み取り、さらに処理します。今、私はいくつかの許可の問題に直面しています。アプリを開発するとき、私はdboレベルのユーザーとの接続文字列を使用していました。実際の接続文字列は、データリーダーとデータライターの権限のみを持つSQLユーザー向けですが、実行すると
select user_name(uid) as owner, name from dbo.sysobjects where type='P' order by name asc
そのようなユーザーを使用してprocのリストを取得するために、クエリはレコードを返しません(ただし、dboとして実行するとprocを返します)
セキュリティ上の理由から、接続文字列でユーザーに追加のアクセス許可を与えたくないので、私の質問は、データリーダー/データライターのアクセス許可しか持たないユーザーがストアドプロシージャのリストを取得するにはどうすればよいか、それが不可能な場合は最小限のものを取得する方法です。ユーザーがその情報にアクセスできる必要がある権限?
SQLServer2008を使用しています