2012-05-31 19 views

Respuesta

6

No tenía claro qué determinaría qué mensajes de 71502 se suprimirían y cuáles no, pero según mi propia comprensión e investigación, creo que la respuesta es la misma. En resumen, no.

Puede suprimir todas las advertencias o advertencias basadas en un código específico (71502), pero eso es lo más detallado posible.

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

este enlace habla de promoción de la detección de errores, pero también demuestra cómo se utiliza el filtro de supresión - la que en base a su pregunta probablemente ya saben.

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

+0

¿Esto realmente funciona? porque aún se muestran como advertencias en msbuild al intentar WarningLevel o nowarn. – StingyJack

33

Puede suprimirlo a nivel de archivos individuales que contiene el código que genera la advertencia si se desea. Algo como esto.

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

También se puede hacer en la ventana Propiedades del archivo. – Daniel

+1

@Daniel: Es cierto, y eso básicamente establece la propiedad de manera similar en el archivo SQLProj. – Varun

+0

debe ser la respuesta aceptada. –

1

Si las advertencias sean originarios de procedimientos almacenados, se puede establecer el reprimir el sprocs específicos mediante la adición de la parte del número de la advertencia (delimitado por comas si quieres más) a la sección de Advertencia reprimir TSQL en las propiedades sproc .

5

Parece que está intentando hacer esto a nivel de objeto/archivo, como un sproc.

Si este es el nivel de granularidad que desea, entonces, con el proyecto abierto, seleccione el objeto y en las propiedades hay una opción para Suprimir Advertencias TSql, ingrese 71502 y eso debería hacerlo.

Se seguirán produciendo otras advertencias para el objeto, al igual que las advertencias 71502 en otros objetos.

0

Como ya se mencionó, es posible ignorar a nivel de objeto todas las ocurrencias de un aviso/error. Si solo desea ignorar una cierta ocurrencia de la advertencia dentro de un objeto que no es posible.

Encontré una solución alternativa que también podría ayudarle.

En mi caso estoy haciendo referencia a una tabla dentro de un procedimiento almacenado creado por una instrucción "select * into ..." y Visual Studio no puede manejar ninguna referencia en esta nueva tabla y recibo muchas advertencias SQL71502. para engañar a VS me creado en la parte superior de mi SP los siguientes:

IF 1=2 CREATE mytable(...) 

Si lo hace, VS puede validar todas refernces pero debido a la condición de la cláusula if siempre es falsa no hay ninguna influencia negativa en mi SP. Solo tenga en cuenta actualizar la declaración CREATE si es necesario.

Cuestiones relacionadas