【问题标题】:Suppress some warnings in SQL Server SSDT禁止 SQL Server SSDT 中的一些警告
【发布时间】:2012-05-31 00:27:47
【问题描述】:

SQL Server Data Tools 中,我想禁止出现 SQL71502(“--- 对对象 --- 具有未解析的引用”)的一些但不是全部出现。我知道我可以通过项目属性、构建、抑制 Transact-SQL 警告来抑制,但这将全局抑制。这个可以吗?

【问题讨论】:

    标签: sql-server sql-server-data-tools


    【解决方案1】:

    如果需要,您可以在包含生成警告的代码的单个文件级别禁止它。像这样的。

    <Build Include="Stored Procedures\X.sql">
        <SuppressTSqlWarnings>71502</SuppressTSqlWarnings>
    </Build>
    

    【讨论】:

    • @Daniel:是的,这基本上是在 SQLProj 文件中以类似的方式设置属性。
    • @Varun:对我不起作用,所以必须通过项目属性、构建、抑制 Transact-SQL 警告禁用
    • 效果很好。虽然最初没有,但直到我更改了&lt;SuppressTSqlWarnings&gt; 的顺序,即我将标签立即移到了&lt;build&gt; 标签之后。我的 Visual Studio 版本是 16.10.0。这可能对其他读者有所帮助。
    • 在您的 *.sqlproj 文件中:&lt;Build SuppressTSqlWarnings="71502" Include="script.sql" /&gt;
    【解决方案2】:

    您不清楚什么会决定哪些 71502 消息会被抑制,哪些不会,但根据我自己的理解和研究,我认为答案是相同的。简而言之,没有。

    您可以禁止所有警告,或基于特定代码 (71502) 的警告,但这会尽可能细化。

    http://msdn.microsoft.com/en-us/library/hh272681(v=VS.103).aspx

    此链接讨论了将警告提升为错误,但也演示了如何使用抑制过滤器 - 基于您可能已经知道的问题。

    http://social.msdn.microsoft.com/Forums/is/ssdt/thread/9b698de1-9f6d-4e51-8c73-93c57355e768

    【讨论】:

    • 这真的有效吗?因为在尝试使用 WarningLevel 或 nowarn 时,它们仍会在 msbuild 上显示为警告。
    • @StingyJack 应该注意的是,只有警告的数字部分才是你应该使用的。我一直在警告支持中尝试“SQL71558”,但没有成功。但是,使用“71558”确实有效。 HTH
    【解决方案3】:

    听起来您正在尝试在对象/文件级别执行此操作,例如存储过程。

    如果这是您想要的粒度级别,则在打开项目的情况下,选择对象,然后在属性中选择抑制 TSql 警告,输入 71502 即可。

    该对象的其他警告仍将引发 - 其他对象中的 71502 警告也将引发。

    【讨论】:

      【解决方案4】:

      如果警告来自存储过程,您可以通过将警告的数字部分(如果需要更多信息,以逗号分隔)添加到 sproc 属性中的 Suppress TSql 警告部分来设置特定 sproc 的 Suppress。

      【讨论】:

        【解决方案5】:

        如前所述,可以在对象级别忽略所有出现的警告/错误。如果您只想忽略不可能在对象中出现的某种警告。

        我找到了一个可能对您也有帮助的解决方法。

        在我的例子中,我在存储过程中引用了一个由“select * into ...”语句创建的表,Visual Studio 无法处理这个新表上的任何后续引用,并且我收到很多 SQL71502 警告。 为了欺骗 VS,我在我的 SP 顶部创建了以下内容:

        IF 1=2 CREATE mytable(...)
        

        这样做 VS 可以验证所有引用,但由于 if 子句的条件始终为假,因此对我的 SP 没有负面影响。请记住在必要时更新 CREATE 语句。

        【讨论】:

          猜你喜欢
          • 2022-01-08
          • 2011-01-03
          • 1970-01-01
          • 1970-01-01
          • 2010-11-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多