Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 Visual studio数据库项目双向同义词_Visual Studio 2012_Database Project - Fatal编程技术网

Visual studio 2012 Visual studio数据库项目双向同义词

Visual studio 2012 Visual studio数据库项目双向同义词,visual-studio-2012,database-project,Visual Studio 2012,Database Project,我们很少有数据库一起运行,它们之间有同义词。数据库之间也有双向同义词。VS数据库项目似乎无法处理这些问题。双向同义词在VS中不起作用,我只能以一种方式引用VS中的另一个数据库,否则会有循环引用。我尝试在VS中创建数据库项目的快照,但为了能够拍摄快照,我需要构建项目,为了能够构建项目,我需要引用另一个数据库项目,该数据库项目无法编译,因为它无法识别同义词等。它似乎有多个数据库(同一服务器)由于双向同义词相互关联,VS难以管理。有人成功地实现了这样的功能吗?使用SQLPackage命令行创建dacp

我们很少有数据库一起运行,它们之间有同义词。数据库之间也有双向同义词。VS数据库项目似乎无法处理这些问题。双向同义词在VS中不起作用,我只能以一种方式引用VS中的另一个数据库,否则会有循环引用。我尝试在VS中创建数据库项目的快照,但为了能够拍摄快照,我需要构建项目,为了能够构建项目,我需要引用另一个数据库项目,该数据库项目无法编译,因为它无法识别同义词等。它似乎有多个数据库(同一服务器)由于双向同义词相互关联,VS难以管理。有人成功地实现了这样的功能吗?

使用SQLPackage命令行创建dacpac(与GUI相比,跨数据库引用更容易理解)。添加这些作为DB引用

这里有一节介绍如何使用SQLPackage从现有数据库中提取dacpac。

我在这里写过关于外部引用的文章:


我们有很多跨数据库依赖项,一旦我们通过了初始构建或从恢复的数据库开始,我们就不会有任何引用问题。

谢谢。我看了一下,但这两个数据库都在不断变化,如果我创建一个dacpac,几天后它就会过时,有新的表、视图,可能还有同义词等等。你是如何处理的?我今天早些时候看过你的博客,其实写得很好,但可能需要阅读所有的博客。但是,是的,在这方面花了几个小时,但服务器上大约有8个数据库,所有数据库都相互引用,但无法构建解决方案。我在您的博客中考虑了dacpac解决方案,但dacpac将在几天后过期。您需要保持dacpac同步。在生成/更改项目时,将输出dacpac复制到共享文件夹中。这并不难,我发现它不需要像你想象的那样频繁,除非你经常引用那些新的/改变过的对象。即使这样,我们也有几个数据库项目,其中5-6个引用了dacpac文件。好的,谢谢Peter,我会更深入地看看你的博客。但是不能创建dacpac,因为它引用了其他没有编译的项目,为了能够编译,我需要dacpac,等等。你认为这努力值得吗?目前,我们只使用数据库项目来跟踪更改,因此我们有一个历史记录,但我希望自动化该过程,以便能够从差异生成.sql,以便在生产数据库上运行。如果你碰巧在悉尼,欢迎你来看看我们的项目,你会喜欢的:)我觉得很值得。一组关于DB应该是什么的“真相”,它就是这样做的(带有gen/review脚本选项)。如果使用sqlpackage.exe生成DACPAC以启动,则不需要立即编译其他项目。一旦引用就位,它们就应该编译而不会有太多麻烦。如果您首先向项目添加引用,那么导入它可能会更容易一些。我知道对我们来说,通过循环引用是最困难的部分。:)