我有一个我创建的数据库,并且正在通过 sqlproj 进行修改。因此,数据库模式有一个 dbo.__RefactorLog 表。
当我从数据库导出 bacpac 文件时,除了 __RefactorLog 表之外,架构中的所有内容都包含在内。
这是预期的行为吗?
有没有办法让 __RefactorLog 表包含在 bacpac 中?
最佳答案
__RefactorLog 表本质上是一个由 SSDT 自动生成的“系统”/内部表。 SSDT 使用它来记录它在部署期间已经执行的重构操作,即它是否应该再次重构该列或表。
该表不需要是架构的一部分,并且会在目标系统上需要时自动重新创建。
如果您想知道为什么它不立即自动生成表,它只会在有重构操作 SSDT 需要完成并因此记录为完成时才会这样做。因此,模式的"new"副本不会创建重构表。
简短版本: 这是一个内部表,不,它不应该在那里,你所看到的对我来说听起来很正常。
有关重构操作/它们是什么的更多信息,请参阅 the MSDN documentation 。