sql-server - referencia - relaciones y tipos de relaciones
Cómo evitar referencias circulares con Visual Studio 2012 Proyecto de base de datos (1)
Deberá extraer sus esquemas de base de datos en archivos dacpac (suponiendo que está utilizando archivos SSDT SQLProj y no los archivos DBProj anteriores para sus proyectos). Puede hacerlo a través de SSMS o a través de la línea de comando de SQLPackage. Una vez extraídos, colóquelos en un lugar que todos los proyectos puedan alcanzar (y preferiblemente aún bajo control de fuente para que todos los demás puedan referenciarlo). Agregue esos archivos dacpac a sus proyectos como referencias de bases de datos, probablemente sin la opción de usar una variable para el nombre de la base de datos.
Escribí la referencia de la base de datos en mi blog aquí: http://schottsql.blogspot.com/2012/10/ssdt-external-database-references.html
Una nota adicional: si está creando nuevas bases de datos a partir de estos proyectos, es probable que tenga que pasar por varios pases. Desactive la opción para ejecutar como una transacción y fallar cuando haya un error para que se creen algunos objetos, repita según sea necesario hasta que se hayan creado todos los objetos. Utilicé una variable en mis proyectos llamada "DeployType" y configuré mis scripts de implementación previa y posterior para manejar un DeployType de "Nuevo" de manera diferente, de modo que no intente llenar / actualizar ningún dato para las "Nuevas" construcciones.
Estoy intentando crear una solución de base de datos en Visual Studio 2012.
Tengo 5 bases de datos que existen en el mismo servidor, por lo que he importado cada una de ellas en un proyecto de base de datos.
Lamentablemente, hay bastantes objetos en las bases de datos que hacen referencia a objetos en otras bases de datos, por lo que he intentado resolverlos agregando una Referencia de base de datos para crear una variable de Base de datos para hacer referencia a estas instancias de bases de datos cruzadas.
El problema es que tengo una base de datos A haciendo referencia a B y también B haciendo referencia a A, y no me permitirá agregar estas dos referencias. Aparece el mensaje que dice "Agregar este proyecto como referencia provocaría una dependencia circular".
¿Alguna idea sobre los enfoques para resolver esto? Supongo que una forma podría ser crear una solución para cada base de datos, pero preferiría no hacerlo si hay una mejor manera de hacerlo.
Estamos tratando de configurar una compilación automatizada, por lo que realmente necesito compilar los proyectos de base de datos.