我正在跟踪SQLCMD迁移脚本中的一个bug,在删除未使用的对象时。
Msg 208, Level 16, State 1, Server XXXXXXXXXXX\XXX_DEV, Procedure vwEmployeeCompleteAll, Line 47
Invalid object name "vwTeamsLatest".
所讨论的脚本如下所示:
USE [DatabaseName]
GO
DROP PROCEDURE IF EXISTS dbo.spPrepareDischarge
DROP VIEW IF EXISTS ....
/*a handful of other views being dropped*/
DROP VIEW IF EXISTS dbo.vwTeamsLatest
vwEmployeeCompleteAll
不依赖于
vwTeamsLatest
首先,我手动遍历了对象图几次,以验证我在级联过程中没有忽略它,然后使用ApexSQL分析器进行了双重检查。从这两个角度来看,两个文件都不依赖于另一个。
vwTeamsLatest
而且它不会出现在任何已使用的视图、存储过程或函数中。
正在使用的系统是SQL Server 2017