2

これはかなり奇妙です。

プロファイラーを開いていると、明らかにストアド プロシージャが呼び出されていることがわかります。データベースと SP リストを開きましたが、SP が存在しません。ただし、接頭辞「x」を除いて同じ名前の別の SP があります。

SQL Server 2005 は、セキュリティ上の目的で SP 名を別の名前にマッピングしていますか?

編集:それが何であれ、それがシノニムであることがわかりました。

4

5 に答える 5

5

一般に、オブジェクトがクエリで使用されているために存在することがわかっていて、Management Studio のオブジェクト ツリーで見つからない場合は、これを実行して見つけることができます。

select *
from sys.objects
where name = 'THE_NAME_YOU_WANT'

確認したところ、シノニムで動作します。

于 2008-09-17T16:58:23.497 に答える
1

前の回答に加えて、「システム ストアド プロシージャ」の下にある可能性もあり、ストアド プロシージャの名前が「sp_」で始まる場合は、マスター データベースにもある可能性があります。

于 2008-09-17T16:52:17.850 に答える
1

ばかげた質問かもしれませんが、念のため... SP リストを更新しましたか? 別の所有者の下にあるその名前のストアド プロシージャを確認しましたか? 所有者を指定せずにストアド プロシージャを作成した場合、そのストアド プロシージャは所有者のリストに含まれる可能性があります (たとえば、リストが "dbo" のみにフィルター処理されている場合はまったく含まれません)。

于 2008-09-17T16:50:28.400 に答える
1

データベース内のすべてのオブジェクトを表示する権限がない可能性があります

于 2008-09-17T16:50:48.087 に答える