2010-11-17 19 views
10

Tengo un proyecto MS DataBase en Visual Studio. Después de hacer una comparación de esquemas, intento generar un script de implementación, el problema es que recibo cientos de errores de referencias no resueltas, tales como los dos siguientes:Referencias no resueltas en el proyecto de base de datos SQL de Microsoft Visual Studio

Error 385 TSD03006: View: [auditing].[AuditedEntities] has an unresolved reference to object [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS]. D:\greatProject\Database\greatProject.Database\Schema Objects\Schemas\auditing\Views\AuditedEntities.view.sql 4 14 greatProject.Database 
Error 387 TSD03006: View: [auditing].[AuditedEntities] contains an unresolved reference to an object. Either the object does not exist or the reference is ambiguous because it could refer to any of the following objects: [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS].[C]::[CONSTRAINT_NAME], [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS].[CONSTRAINT_NAME] or [INFORMATION_SCHEMA].[TABLE_CONSTRAINTS].[C]::[CONSTRAINT_NAME]. D:\greatProject\Database\greatProject.Database\Schema Objects\Schemas\auditing\Views\AuditedEntities.view.sql 5 69 greatProject.Database 

Los SPROCS nunca tienen problemas cuando se ejecutan. ¿Hay una forma rápida y sucia de arreglar esto? ¿Tal vez incluso desactivando los controles de integridad referencial tal vez?

Respuesta

11

Agregué una referencia a la base de datos maestra para resolver este error, que se puede lograr a través de los siguientes pasos.

  1. Haga clic derecho en referencias en su proyecto de base de datos
  2. Haga clic Add Database Reference...
  3. Haga clic en el `proyecto de esquema de base de botón de radio
  4. Vaya a la

    C (.dbschema): \ Archivos de programa \ Microsoft Visual Studio 9.0 \ VSTSDB \ Extensions \ SqlServer \ 2008 \ DBSchemas \ master.dbschema

  5. Haga clic en Aceptar

La siguiente pregunta tiene algo que ver. ASP.NET Schema Tables Causing Issues in VSTS

+2

Esta respuesta no funcionó en mi entorno (VS 2013); el camino descrito no existía. La respuesta de Stakx funcionó para mí. –

21

Al proyecto de su base de datos le falta una referencia a la base de datos master.

Suponiendo que usted está hablando de un proyecto SQL Server Data Tools (SSDT) base de datos, puede agregar la referencia que falta de la siguiente manera:

  1. En Explorador de soluciones, abra el menú contextual de los Referencias nodo y seleccione Añadir base de datos de referencia ... de ella:

    Add database reference via Solution Explorer

  2. En la parte superior de la ventana de diálogo de apertura, seleccione la opción Base de datos del sistema y elija master en la lista desplegable.

    Select the System database <code>master</code>

  3. Por último, pulse el botón OK . La referencia de la base de datos ahora debe agregarse a su proyecto.

+0

Esto funciona. La misma respuesta es dada por Microsoft aquí: https://connect.microsoft.com/SQLServer/feedback/details/787152/ssdt-intellisense-does-not-recognize-system-extended-procedures-like-sp-executesql-or -sp-xml-preparedocument –

+0

¿Qué sucede si la referencia es a otra base de datos existente que tiene su propio proyecto fuera de la solución? Si agrego referencia como .dacpac, ¿se actualizará también la otra base de datos? – Muflix

+0

@Muflix: sugiero que publique esto como una pregunta separada. – stakx

Cuestiones relacionadas