复制的SQL Server存储过程返回不同的结果

时间:2011-01-10 19:02:52

标签: sql-server stored-procedures

我从现有的存储过程中创建了一个新的存储过程。我所做的只是复制旧的并改名。

现在,当我在查询分析器中运行时,我从原始数据中获取数据,但新数据不会返回任何数据。

它可能具有权限,但都设置为公开。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

检查ansi-nulls值?他们可以哄骗头痛。没有看到代码但很难说是一般的调试规则;将其分解为基本查询并查看问题的引入位置或开始与原始存储的流程结果不同的地方

答案 1 :(得分:1)

很抱歉,如果我的问题显得天真,但是......你是如何制作副本的呢?

到目前为止,我只使用SSMS与DB一起工作,如果有的话,我没有忘记其他交互式工具。对于SSMS,在这种情况下通常仅进行复制:sp_helptext [proc name],然后将输出复制到新的查询窗口,更改名称和瞧(即“执行脚本”)。权限在原始proc的属性中查看,通常使用相同或新脚本添加。

这似乎是微不足道的,我觉得有点内疚。无论如何,到目前为止,这种方法从未让我失望过。你的是什么?

很抱歉,这当然不能解决您已经复制的SP的特殊问题。我只是想也许你想在复制这个更基本的问题上得到一些帮助。

答案 2 :(得分:0)

创建脚本并重新复制sp工作。它可能是proc的所有者或权限相关。在我开始工作之后不再需要调试了。