2012-03-27 16 views
11

Parece que SSDT solo admite la supresión de advertencias, pero no errores. Tengo muchos errores, todo indicando:Problema con la supresión de errores en SSDT (herramientas de datos de SQL Server)

error 4 SQL71561: Vista:.... [Dbo] [X] tiene una referencia sin resolver al objeto [DB1] [dbo] [y] [columna]

No quiero hacer referencia al DB1 en este proyecto de base de datos, por razones específicas. Solo quiero que ignoren estos errores cuando construyo el proyecto. La única forma en que he podido obtener estos errores es ir a cada archivo (ver) y establecer la Acción de compilación en Ninguno. La supresión de advertencias TSql a nivel de proyecto o nivel de archivo no funciona (supongo que esto solo suprime las advertencias). Y no he configurado la opción para tratar las advertencias de T-SQL como errores.

¿Hay un mejor enfoque?

+2

Cualquier noticias sobre este? Tengo el mismo problema en este momento. Pero no puedo cambiar la acción de compilación, porque no implementará la vista si la cambio. – Feroc

+0

Tampoco pude encontrar la manera de suprimir estos errores, así que agregué una referencia a la otra base de datos para resolver los errores. Ver http://stackoverflow.com/questions/12161392 para más detalles. –

Respuesta

-4

en el cuadro de publicar el diálogo de base de datos> Opciones avanzadas> Comprobar los 'errores de verificación tratan como advertencias'

Publish Database and Advanced Publish Settings

+0

Esto no elimina los errores de compilación y las comparaciones no funcionarán hasta que se resuelvan los errores de compilación. –

0

¿Alguno de ustedes tratan de establecer el mensaje de error de identificación de "manejar como advertencia" y en Además de configurar esta identificación warnung para ser suprimida en la configuración del nivel de proyecto? No estoy seguro si esto funciona, pero en teoría creo que debería ...

+0

Este comentario es inútil, miré SQL CLR Build Tabpage, lo siento. – MARKUS

5

No he encontrado cómo evitar el error sin hacer referencia al DB1, pero hay dos opciones para hacerlo si no tiene el código para ello en SSDT:

  • Si tiene acceso al Live DB1, extraiga un .dacpac con SqlPackage. A continuación, agregue este .dacpac como referencia en su proyecto.
  • Cree un proyecto de código auxiliar (por ejemplo, un DB1 falso) lado a lado con el suyo, instálelo y agregue los objetos de código auxiliar allí.

tuve que usar la opción 1 con un proyecto hace un tiempo, que he detallado aquí:

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

Puede extraer un dacpac utilizando esta:

 
SqlPackage /Action:Extract /SourceServerName:YourServerNameHere /SourceDatabaseName:YourDatabaseNameHere /TargetFile:YourDatabaseNameHere.dacpac 
Cuestiones relacionadas