【问题标题】:Missing SQL Service stored procedure缺少 SQL 服务存储过程
【发布时间】:2008-09-16 16:05:41
【问题描述】:

我收到来自商业程序的消息,指出找不到“LogMessage”存储过程。在关联的 MS SQLServer 2000 数据库中似乎没有名为 LogMessage 的存储过程。除了打电话给公司,我还能做些什么来追踪丢失的程序?

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    您找不到它的原因是它不存在。除非您有原始过程,否则您将不得不致电公司。

    当然,您可以自己尝试创建 proc。但是,当有人已经拥有原始过程时,为什么还要麻烦呢?

    这是商业产品的全新安装吗?如果是这样,这完全是他们的责任。

    【讨论】:

    • 可以添加 Jen A 的评论权限吗?然后我可以选择这个作为最佳答案。
    • 自从我使用 SQL 2000 以来已经有一段时间了,但是 SQL 2005 肯定有一个明显的错误消息,表明权限被拒绝。如果用户没有适当的权限,您是否验证过在 SQL 2000 中会生成相同的错误消息?我只是想验证一下! ;-)
    【解决方案2】:

    如果您没有访问存储过程的权限,有时您也会收到此消息。以“sa”或同等身份登录,以验证 proc 是否确实丢失。

    【讨论】:

      【解决方案3】:

      LogMessage 看起来很不言自明。如果你不能轻易得到真实的东西,你可能会尝试自己创建一个,看看会发生什么。

      创建一个名为 LoggedMessages 的新表,并在调用 proc 时插入到表中。然后看看弹出了什么。

      有点老套,但鉴于它是一种日志机制,与应用程序的主要功能无关,您可以尝试一下。

      【讨论】:

        【解决方案4】:

        好吧,如果公司停业、无益等,或者你很着急,那么附上一个 SQL 跟踪,查看传递的参数类型和数量,并创建一个具有该名称和签名的存储过程.根据所使用的数据访问 API,可能需要进行一些实验才能获得签名权。存储过程的主体将为空。由于这只是日志记录,因此可能会让应用程序的其余部分运行,但日志记录将关闭。

        确保架构的其余部分都在那里。显然,如果整个模式都丢失了,那么这个技巧就行不通了。

        如果您与供应商签订了维护协议,请对他们大喊大叫,这就是维护和支持的目的。

        【讨论】:

          猜你喜欢
          • 2021-04-17
          • 1970-01-01
          • 1970-01-01
          • 2018-11-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多