【发布时间】:2020-03-11 11:56:33
【问题描述】:
我今天遇到了一个奇怪的问题....我对存储过程执行了 sp_helptext,但 CREATE PROCEDURE 语句中的存储过程名称(在结果中)与我在 sp_helptext 语句中使用的名称不对应(请参阅截图如下)。我尝试从 sys.all_sql_modules 和 OBJECT_DEFINITION 中进行选择,但结果相同。
在下面的示例中,我使用了 InvIRCode_GetByInvIRID,但结果给了我 InvIRCode_GetListByInvIRID
我做了一些研究,似乎这是一个已知的 SQL Server 错误,并且在重命名存储过程时发生。
我的问题是:如何获得存储过程的正确源代码?
有趣的是,当我在 SQL Server Management Studio 的对象资源管理器中右键单击 sp 并选择将过程脚本写入新窗口时,它确实给出了正确的代码。
【问题讨论】:
-
停止寻找奇迹。这是一个已知问题,考虑到自首次发现以来已经过去的时间长度,它不太可能很快改变。您要么调整代码以进行补偿,要么将数据库架构/ddl 存储在源代码控制中(您应该这样做)。
标签: sql-server stored-procedures