【问题标题】:Could not find Stored Procedure找不到存储过程
【发布时间】:2011-01-25 18:48:16
【问题描述】:

我继承了一个明显引用存储过程“XYZ”的网站,当该站点运行时,我收到一条错误消息,提示找不到存储过程“XYZ”。所有这些都是有道理的,因为在 MSSQL Studio 中,这个存储过程实际上并不存在。但是,我不知道解决方案中在哪里引用了它。我已经搜索了“XYZ”的整个解决方案,它说没有找到。我在哪里可以找到这个存储过程被引用的地方并消除问题。提前感谢您的任何帮助/建议

【问题讨论】:

    标签: .net stored-procedures


    【解决方案1】:

    您的存储过程XYZ 可能被另一个存储过程调用。

    【讨论】:

      【解决方案2】:

      如果不直接调用,就是间接调用

      如何搜索所有代码定义...

      SELECT OBJECT_NAME(object_id)
      FROM sys.sql_modules
      WHERE definition LIKE '%XYZ%'
      

      【讨论】:

      • 我们正在运行 sql2000,但我使用 SELECT * FROM syscmets WHERE text LIKE '%XYZ%' 并没有得到任何结果...
      • @Logan W:很抱歉回答迟了:由于文本列是 nvarchar(4000),因此您在 syscmets 中获得多行用于长过程。您必须考虑跨越 4k 边界的 XYZ 字符串
      【解决方案3】:

      请确保您的架构名称在连接字符串中。

      您也可以使用this 在所有数据库中查找过程。

      【讨论】:

        【解决方案4】:

        也许是从另一个存储过程中引用的,如果你想创建一个虚拟存储过程来“快速修复它”,同时你研究更多,一个很好的工具是使用 SQL Server Profiler,这样你可以看到SQL Server 上正在执行什么

        【讨论】:

          猜你喜欢
          • 2010-10-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-02-02
          • 2018-04-05
          相关资源
          最近更新 更多