12

看起来 SSDT 只支持抑制警告但不支持错误。我有很多错误,都说明:

错误 4 SQL71561:视图:[dbo].[x] 对对象 [DB1].[dbo].[y].[column] 的引用未解析

出于特定原因,我不想在此数据库项目中引用 DB1。我只是希望在构建项目时忽略这些错误。我能够解决这些错误的唯一方法是转到每个文件(视图)并将构建操作设置为无。在项目级别或文件级别抑制 TSql 警告不起作用(我假设这只会抑制警告)。而且,我没有设置将 T-SQL 警告视为错误的选项。

有更好的方法吗?

4

3 回答 3

6

我还没有找到如何在不引用 DB1 的情况下避免错误,但是如果您在 SSDT 中没有代码,则有两种选择:

  • 如果您有权访问实时 DB1,请使用 SqlPackage 从中提取 .dacpac。然后将此 .dacpac 作为参考添加到您的项目中。
  • 与你的并排创建一个存根项目(例如一个假的 DB1),引用它,并在那里添加存根对象。

不久前我不得不在一个项目中使用选项 1,我在这里详细介绍了:

http://tangodude.wordpress.com/2014/02/05/referencing-the-sql-server-data-collectors-management-data-warehouse-in-your-ssdt-database-project/

您可以使用以下方法提取 dacpac:

SqlPackage /Action:Extract /SourceServerName:YourServerNameHere /SourceDatabaseName:YourDatabaseNameHere /TargetFile:YourDatabaseNameHere.dacpac
于 2014-02-08T18:52:23.960 回答
0

你们中是否有人尝试将错误消息 id 设置为“作为警告处理”,并且除了在项目级别设置中设置此警告 id 之外?不确定这是否有效,但理论上我认为它应该......

于 2012-10-17T09:18:47.467 回答
-4

在发布数据库对话框 > 高级 > 选中“将验证错误视为警告”

发布数据库和高级发布设置

于 2012-05-25T02:35:52.970 回答