Calc
というメインストアドプロシージャによってクエリされるストアドプロシージャ(ワーカープロシージャ)がいくつかあります。 Calc
は、テーブルのS
と呼ばれる同義語を作成します。この名前はパラメータによって渡されます。SQL Server:ストアドプロシージャによって作成されたユーザーあたりの同義語に関する問題
作業者procsは、同義語表を使用して作業します。
管理者ログイン用に動作します。
問題:ユーザーが実行した場合Calc
同義語はDomain/Username.S
になり、管理者は、それがdbo.S
と呼ばれるシノニムを作成し、労働者が唯一S
にアクセスして作業する場合S
にアクセスする労働者がDomain/username.S
を見つけることができません。 。
Calc
という名前のユーザーが作成した同義語に、どのようにして作業者がアクセスできますか? XユーザーがCalc
に電話し、別のテーブルS
で操作できますが、同じワーカーprocsを使用できます。
ありがとうございました、うまくいけば誰かが私を助けることができます。
環境:SQL Server 2008の 許可されたユーザー権利:CALCを作成するときにシノニム
私は美しくない問題を解決しました。 同義語テーブルが削除され、Calcが作業者Procsに渡されるパラメータとしてtablenameを取得するようになりました。これで、渡された表を処理するために動的SQLが使用されます。 今は同義語としては良いが、それは動作します。 – Lakedaimon