client.UpdateClient
SQLユーザーによって実行されるsproc(それを呼び出す)があります(それを呼び出すMyWCFServicesUser
.
MyWCFServicesUser
データベースに対するデータ読み取り権限とデータ書き込み権限があります。また、sproc に対する実行権限も持っています (ただし、他の権限はありません)。
sproc は with に行を挿入client.Client
しSET IDENITY_INSERT client.Client ON
ます。
この sproc (SSMS から) を統合セキュリティ (I am sa
) で実行すると、すべて正常に動作します。
MyWCFServicesUser
(SSMSから)として実行すると、次のエラーで失敗します:
メッセージ 1088、レベル 16、状態 11、プロシージャ UpdateClient、行 33
オブジェクト「client.Client」が存在しないか権限がないため、見つかりません。
私は通常、すべての sproc とテーブルをデフォルト (dbo) スキーマに持っていますが、今回は dbo を使用しないようにしています。
それが私に権限がない理由ですか?何らかの方法でsprocを昇格させる必要がありますか? それともユーザー?またはどういうわけかスキーマを変更しますか?
私は困惑しています...