これはかなり奇妙です。
プロファイラーを開いていると、明らかにストアド プロシージャが呼び出されていることがわかります。データベースと SP リストを開きましたが、SP が存在しません。ただし、接頭辞「x」を除いて同じ名前の別の SP があります。
SQL Server 2005 は、セキュリティ上の目的で SP 名を別の名前にマッピングしていますか?
編集:それが何であれ、それがシノニムであることがわかりました。
これはかなり奇妙です。
プロファイラーを開いていると、明らかにストアド プロシージャが呼び出されていることがわかります。データベースと SP リストを開きましたが、SP が存在しません。ただし、接頭辞「x」を除いて同じ名前の別の SP があります。
SQL Server 2005 は、セキュリティ上の目的で SP 名を別の名前にマッピングしていますか?
編集:それが何であれ、それがシノニムであることがわかりました。
一般に、オブジェクトがクエリで使用されているために存在することがわかっていて、Management Studio のオブジェクト ツリーで見つからない場合は、これを実行して見つけることができます。
select *
from sys.objects
where name = 'THE_NAME_YOU_WANT'
確認したところ、シノニムで動作します。
前の回答に加えて、「システム ストアド プロシージャ」の下にある可能性もあり、ストアド プロシージャの名前が「sp_」で始まる場合は、マスター データベースにもある可能性があります。
ばかげた質問かもしれませんが、念のため... SP リストを更新しましたか? 別の所有者の下にあるその名前のストアド プロシージャを確認しましたか? 所有者を指定せずにストアド プロシージャを作成した場合、そのストアド プロシージャは所有者のリストに含まれる可能性があります (たとえば、リストが "dbo" のみにフィルター処理されている場合はまったく含まれません)。
データベース内のすべてのオブジェクトを表示する権限がない可能性があります