こんにちは私は2つの異なるSQL Serverデータベースを持っています。リンクサーバーOLE DBプロバイダ "SQLNCLI11"リンクサーバー
これらは、リンクサーバーを介して相互に接続されています。リンクサーバーは正常に動作しています。
私が試してみてください。
SELECT
*
FROM
OPENQUERY
([192.168.1.170],
'SELECT MalCRM.dbo.ContractedNumber(1)')
私は以下のエラーを取得します。どのように私はそれを修正することができます?
リンクサーバー "192.168.1.170"のOLE DBプロバイダー "SQLNCLI11"が返されました "遅延準備が完了できませんでした"。 Msg 229、レベル14、状態5、行1 オブジェクト 'ContractedNumber'、データベース 'MalCrm'、スキーマ 'dbo'でEXECUTE権限が拒否されました。
同じログインを使用して、リンクされたサーバー上で 'SELECT MalCRM.dbo.ContractedNumber(1)'というクエリを直接実行してみてください。ほとんどの場合、アカウントに必要な権限の完全なセットがないことがわかります。 –
申し訳ありません私もよく理解しているのか分かりません。あなたはもっと詳しく説明できますか? select文もターゲットサーバ上で動作します。しかし、私はdbリンクで実行しようとすると私はできません。 – Oracsql
[192.168.1.170]で直接クエリを実行できないと思われます。リンクが設定されていても、そのサーバーに必要な権限はありません。 ssms経由で[192.168.1.170]に接続してください。クエリを実行します( 'SELECT MalCRM.dbo.ContractedNumber(1)')。同じエラーメッセージが表示された場合は、dbaにアクセス権の変更を依頼してください。 –