【发布时间】:2016-11-29 21:28:32
【问题描述】:
我在数据库 1 中有几个视图,我在数据库 2 中编写了一个存储过程。数据库 2 中的存储过程引用了数据库 1 中的几个表。
由于某种原因,当我有:
USE Database1
GO
在测试时,它工作得很好。但是当我使用
USE Database2
GO
存储过程无法编译。没有警告,只是继续旋转。第一种情况只需要大约 1 秒即可运行。
有人知道可能是什么问题吗?当我尝试在 database2 中运行使用对 database1 相同引用的类似存储过程时,它工作正常。此外,它们在 SQL Server 中位于同一台服务器上。
抱歉,我无法发布代码。
【问题讨论】:
-
没有代码,将很难确定您的问题是什么。可能是您的存储过程的另一部分导致了问题。如果您担心安全性,请将您的表名更改为示例中的其他名称。
-
可以是任意数量的东西。您是在尝试创建这些过程还是在执行它们时这样做?我有一种感觉,就是在执行时。这绝对是阻塞的迹象。也许您有一个仍处于打开状态的事务,因此您的过程中的 select 语句只是在等待移除资源锁。如果您可以提供一些代码,我们可能会提供帮助。但就目前情况而言,我们只是在猜测。
-
我创建了存储过程。但它不会编译数据,所以我删除了只是去更改代码并删除了参数等,只是使用声明和设置放入示例参数。我将调查阻塞并更好地了解正在发生的事情。生病回来汇报。谢谢
标签: sql sql-server