数据库参考

SQL Server 包含一个称为延迟命名的功能,这意味着在许多情况下,你可以部署引用不存在的对象的过程和代码。还可以以这样的方式删除或改变对象,使得任何引用代码片段在被调用时不再运行。

当你得到这两种情况中的任何一种时,你只知道代码执行时出现问题并且失败。

SSDT 通过在项目构建时验证对对象的引用是否有效来帮助实现此目的。这是 SSDT 的主要优点之一,意味着可以在编译时而不是运行时找到错误。

Database Reference 源有三种类型:

  • 同一视觉工作室解决方案中的其他项目
  • 为系统数据库预先构建/提供的 dacpac(msdb 和 master)
  • 为你创建的其他数据库/ ssdt 项目预先构建的 dacpac

一旦你有了一个引用,有三种不同的方法在 SSDT 中使用它们映射到我们可以在 SQL Server 中引用对象的不同方式:

  • 相同数据库
  • 不同数据库,同一服务器
  • 不同数据库,不同服务器

这允许我们使用这些名称:

  • schema.table
  • database.schema.table
  • server.database.schema.table

这支持允许:

  • 制作一个数据库的不同项目
  • 在同一服务器上跨数据库调用
  • 通过链接服务器跨数据库调用

数据库引用是启动和运行 SSDT 的关键,了解它们的不同使用方式