3

ストアドプロシージャsp_dequeuequeue->ACTIVATION(STATUS = ON、MAX_QUEUE_READERS = 1、PROCEDURE_NAME = sp_dequeue、EXECUTE AS'Username');を呼び出すサービスブローカーがあります。sp_dequeueで、リンクサーバーにレコードを挿入しています...したがって、magmnt studioからsp_dequeueを呼び出すと、正常に機能します。しかし、サービスブローカーを介して自動的に呼び出されると、次のエラーメッセージが表示されます:「現在のセキュリティコンテキストが信頼されていないため、リモートサーバーへのアクセスが拒否されました。」

リンクサーバーのプロパティで、「このセキュリティ制約を使用して作成する」をチェックし、oracleユーザーIDとpwdを指定し、「ユーザー名」マッピングをoracleサーバーに追加しました(oracle / SQLのユーザー名とpwdは異なります)これをグーグルで検索しましたエラーはほとんどすべての組み合わせを試しました。plsはこの問題を解決するのに役立ちます。SQLServer2005とOracle10gを使用

4

1 に答える 1

4

説明は、なぜ機能…がアクティブ化されても機能しないのですか?で説明されています。。1つの解決策は、あなたが行ったように、TRUSTWORTHYを有効にすることです。もう1つは、コード署名を使用することです。アクティブ化されたプロシージャの署名を参照してください。コード署名は展開がより複雑ですが、TRUSTWORTHYフラグがからへの特権昇格へのパスを開くため、非常に厳しいセキュリティ環境で必要になりdboますsysadmin

于 2011-08-03T18:33:12.463 に答える