sp_会重新编译来自其他数据库的标记对象以进行重新编译吗?(SQL Server)
在technet关于sp_重新编译的文章中,下面的备注部分说明 “sp\U重新编译仅在当前数据库中查找对象。” 这是指它可以标记为重新编译的对象函数的参数吗sp_会重新编译来自其他数据库的标记对象以进行重新编译吗?(SQL Server),sql,sql-server,database,Sql,Sql Server,Database,在technet关于sp_重新编译的文章中,下面的备注部分说明 “sp\U重新编译仅在当前数据库中查找对象。” 这是指它可以标记为重新编译的对象函数的参数吗 例如,如果数据库a中有一个表被数据库B中的一个对象使用,数据库B中的对象是否会被标记为重新编译?首先注意,只有过程对象才会被重新编译。触发器和存储过程,而不是整个表也知道触发器和SP只是被标记为重新编译,重新编译只会在下次调用它们时发生 第二,它将只重新编译实际数据库中的对象,这意味着如果您处于数据库A的上下文中,并且尝试在其他数据库中重
例如,如果数据库a中有一个表被数据库B中的一个对象使用,数据库B中的对象是否会被标记为重新编译?首先注意,只有过程对象才会被重新编译。触发器和存储过程,而不是整个表也知道触发器和SP只是被标记为重新编译,重新编译只会在下次调用它们时发生 第二,它将只重新编译实际数据库中的对象,这意味着如果您处于数据库A的上下文中,并且尝试在其他数据库中重新编译数据库B.dob.SP,它将不起作用
此外,它不表示将“嵌套”重新编译。因此,如果您重新编译objectA,并且它使用objectB(在同一个数据库或另一个数据库中,这无关紧要),objectB将不会重新编译。非常感谢。这是一个问题,因为在这种情况下,我需要手动重新编译数据库b上的内容。它回答了最近在我们的数据库中发生的一些问题。