我继承了一个db,它包含大约150个存储过程,这些过程在同一台服务器上引用了db对象。它工作正常,直到数据库被移动到另一台服务器,现在程序找不到这些对象。
例如:什么是常见的只是[数据库]。[dbo]。[对象],当应该发生的是[服务器]。[数据库]。[dbo]。[对象],对于这些引用不是断裂。
我目前正在使用
select [definition]
into #test
from sys.sql_modules
where definition like '%(db name)%'
使用对db的引用来定位proc,并且可能在每个db匹配上执行REPLACE
。
但是有更简单的方法吗?
答案 0 :(得分:0)
您可以考虑使用SYNONYM
USE [database];
GO
CREATE SYNONYM [object] FOR [server].[database].[dbo].[object];
GO