Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我跟踪了一个存储过程,如SQLServer2005探查器中所示。它';它找不到,但有效。为什么?_Sql_Sql Server_Sql Server 2005_Stored Procedures - Fatal编程技术网

我跟踪了一个存储过程,如SQLServer2005探查器中所示。它';它找不到,但有效。为什么?

我跟踪了一个存储过程,如SQLServer2005探查器中所示。它';它找不到,但有效。为什么?,sql,sql-server,sql-server-2005,stored-procedures,Sql,Sql Server,Sql Server 2005,Stored Procedures,这很奇怪 我打开了探查器,它显然显示调用了存储过程。我打开了数据库和SP列表,但SP不存在。但是,还有另一个SP的名称相同,只是其前缀为“x” 出于安全目的,SQL Server 2005是否将SP名称映射到其他名称 编辑:我发现它是同义词,不管是什么 可能是愚蠢的问题,但以防万一。。。是否刷新了SP列表?您是否已在其他所有者下检查该名称的存储过程?如果您创建的存储过程没有指定所有者,那么它可能在您的所有权下的列表中(或者如果列表仅过滤为“dbo”,则根本不在列表中)。您可能没有权限查看数据库中

这很奇怪

我打开了探查器,它显然显示调用了存储过程。我打开了数据库和SP列表,但SP不存在。但是,还有另一个SP的名称相同,只是其前缀为“x”

出于安全目的,SQL Server 2005是否将SP名称映射到其他名称


编辑:我发现它是同义词,不管是什么

可能是愚蠢的问题,但以防万一。。。是否刷新了SP列表?您是否已在其他所有者下检查该名称的存储过程?如果您创建的存储过程没有指定所有者,那么它可能在您的所有权下的列表中(或者如果列表仅过滤为“dbo”,则根本不在列表中)。

您可能没有权限查看数据库中的所有对象添加到前面的答案中,也可能在“系统存储过程”下,如果存储过程的名称以“sp_”开头,它也可能在主数据库中。

通常,当您知道某个对象存在,因为它已在查询中使用,而您在Management Studio的对象树中找不到它时,您可以这样做来找到它

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

我刚刚检查过,它与同义词一起工作。

存储过程将位于创建存储过程时选择的数据库中。因此,在从中提取数据的数据库中进行搜索,否则它将位于主数据库中。若你们仍然无法找到那个么第一个数字的解决方案是最好的。i、 e

select * from sys.objects where name = 'name of stored procedure'

你应该结束这个问题,因为你回答了你自己的问题。同意-如果回答了,请发布一个答案,等待一天,然后接受它。“不同的所有者”不止一次地咬了我-在这种情况下,你会发现它位于列表底部的顶部