SSDT 项目中的引用系统对象

reference system objects in SSDT Projects

我在 VS 和 SSDT 中有一个 SQL 服务器项目,并且正在编写一个必须引用系统对象(sys.tables、sys.all_columns 等)的存储过程的脚本。但是当我构建项目时,我收到大量警告,程序 "has an unresolved reference to [sys].[tables]"

有没有办法在引用中获取系统对象以避免这种情况?似乎如果项目属性具有任何最新 SQL 版本的目标平台,那么它应该知道这些系统对象已经固有地存在。

它不会停止构建,但会增加寻找 TRUE 警告(需要解决的警告)的难度。

如有任何建议,我们将不胜感激。谢谢。

引用的添加方式与 Visual Studio 中的标准引用类似:右键单击 SSDT 项目的“引用”节点并选择“添加数据库引用”,这将启动“添加数据库引用” ”对话框:

选择 "System" 数据库引用,它应该停止有关 master 中存在的对象的警告。

(文字和图片是从我写的一篇文章中复制的:https://www.red-gate.com/simple-talk/sql/sql-tools/sql-server-data-tools-ssdt-and-database-references/)(所以从技术上讲这是抄袭,但我是我:))