Подтвердить что ты не робот

Подавить некоторые предупреждения в SQL Server SSDT

В Инструменты данных SQL Server, я хотел бы подавить некоторые, но не все, вхождения SQL71502 ( "--- имеет нерешенную ссылку на объект - -" ). Я знаю, что могу подавлять через свойства Project, Build, Suppress Transact-SQL предупреждения, но это будет глобально подавлять. Это можно сделать?

4b9b3361

Ответ 1

Вы не определились с тем, что определит, какие из 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

Ответ 2

Вы можете подавить его на уровне отдельных файлов, который содержит код, генерирующий предупреждение, если вы хотите. Что-то вроде этого.

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

Ответ 3

Похоже, вы пытаетесь сделать это на уровне объекта/файла, например sproc.

Если это уровень детализации, который вам нужен, то при открытом проекте выберите объект, а в свойствах - опция "Подавить предупреждения TSql", введите 71502, и это должно сделать это.

Другие предупреждения для объекта все равно будут подняты - как и 71502 предупреждения в других объектах.

Ответ 4

Если предупреждения происходят из хранимых процедур, вы можете установить подавление на определенных sprocs, добавив номер части предупреждения (с запятой, если хотите больше) в раздел Suppress TSql Warning в свойствах sproc.

Ответ 5

Как уже говорилось, на уровне объекта можно игнорировать все вхождения предупреждения/ошибки. Если вы хотите игнорировать определенное появление предупреждения внутри объекта, который невозможен.

Я нашел обходное решение, которое также может помочь вам.

В моем случае я ссылаюсь на таблицу внутри хранимой процедуры, созданной оператором "select * in...", а Visual Studio не может обрабатывать следующую ссылку в этой новой таблице, и я получаю много предупреждений SQL71502. Чтобы обмануть VS, я создал в верхней части моего SP следующее:

IF 1=2 CREATE mytable(...)

Для этого VS может проверять все ссылки, но поскольку условие условия if всегда ложно, отрицательное влияние на мой SP не оказывает. Просто имейте в виду обновить инструкцию CREATE, если это необходимо.