我在数据库1中有几个视图,我在数据库2中编写了一个存储过程。数据库2中的存储过程引用了数据库1中的几个表。
出于某种原因,我有:
USE Database1
GO
在测试时,它完全正常。但是当我使用
时USE Database2
GO
存储过程没有编译。没有警告,只是继续旋转。第一种情况只需要大约1秒钟就可以运行。
任何人都知道可能是什么问题?当我尝试在database2中运行使用与database1相同的引用的类似存储过程时,它工作正常。此外,它们位于SQL Server中的同一服务器上。
抱歉,我无法发布代码。
答案 0 :(得分:0)
SQL Server必须取消对象的锁定,以便创建查询计划。它要么无法连接到数据库,要么无法获取所需的锁。