Tag: 数据库项目

VS2012 Post-Deployment脚本引用了其他几个脚本

我在VS2012创build了一个数据库项目。 我添加了数据库结构。 它可以很好地发布和比较数据库。 现在发布我想自动加载几个表与默认数据。 我使用SQL Management Studio生成的INSERT语句创build了五个脚本文件。 他们被添加到我的数据库项目中的脚本文件夹。 然后我设置BuildAction=PostDeploy 。 这工作正常。 但由于某种原因,只能将一个脚本设置为PostDeploy …. 我意识到我可以将所有脚本移动到一个文件中。 但我有很多,真的很想分组在不同的文件,以维持一些秩序。 然后我创build了一个PostDeploy.sql文件,并试图从那里引用所有其他脚本文件。 文件头给出了方向: Post-Deployment Script Template —————————————————————————- This file contains SQL statements that will be appended to the build script. Use SQLCMD syntax to include a file in the post-deployment script. Example: :r .\myfile.sql 所以我写我的文件: :r .\MyScript1.sql :r .\MyScript2.sql :r .\MyScript3.sql […]

VS2013数据库项目无法build立

我在VS2013(更新3)中创build了一个新的SQL Server数据库项目并尝试构build,但失败。 我收到的唯一的生成输出如下: —— Build started: Project: Database1, Configuration: Debug Any CPU —— Creating a model to represent the project… Done building project "Database1.sqlproj" — FAILED. Build FAILED. ========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ========== 如果我通过详细的详细信息通过MSBuild.exe生成项目,我看到以下内部失败: Task "SqlBuildTask" Creating a model to represent the project… Done executing task "SqlBuildTask" — FAILED. […]

如何正确使用SSDT和Visual Studio 2012数据库项目pipe理数据库部署?

我正在研究阶段试图在现有的小型项目上采用2012年数据库项目。 我是C#开发人员,而不是DBA,所以我不是特别stream利的最佳实践。 我一直在寻找谷歌和stackoverflow几个小时,但我仍然不知道如何正确处理一些关键的部署scheme。 1)在几个开发周期中,如何pipe理我的数据库的多个版本? 如果我在我的数据库的v3上有一个客户端,并且我想将其升级到v8,我该如何pipe理它? 我们目前为我们产品的每个版本pipe理手工架构和数据迁移脚本。 我们是否还需要单独做这件事,或者是否有新的模式支持或取代这个模式? 2)如果模式的变化需要数据移动,那么处理这个问题的最好方法是什么? 我假定Pre-Deployment脚本中有一些工作用于保存数据,然后Post-Deploy脚本将它放回正确的位置。 这是它的方式还是有更好的? 3)对于如何更好地使用这些新技术的任何其他build议或指导也非常感谢! 更新:自从我最初提出这个问题以来,我对这个问题的理解有所增加,而当我提出一个可行的解决scheme时,这并不是我所希望的解决scheme。 这里是我的问题的重新说明: 我遇到的问题纯粹是与数据有关。 如果我在我的应用程序的第一版上有一个客户端,并且我想将它们升级到我的应用程序的第五版,那么如果他们的数据库没有数据,我就不会遇到问题。 我只是简单地让SSDT智能地比较模式并一次性迁移数据库。 不幸的是客户有数据,所以并不那么简单。 架构从我的应用程序的版本1更改为版本2到版本3(等)所有影响数据。 我目前的数据pipe理策略要求我维护每个版本升级的脚本(1到2,2到3等)。 这可以防止我直接从我的应用程序版本1到版本5,因为我没有数据迁移脚本直接去那里。 为每个客户创build自定义升级脚本或者pipe理从每个版本到每个更高版本的升级脚本的前景是指数级无法pipe理的。 我所希望的是,SSDT能够实现某种策略,使事物的数据pipe理更容易,甚至可以像事物的模式一样简单。 我最近使用SSDT的经验并没有给我这样一个存在的策略的希望,但我希望有不同的发现。

Visual Studio 2013:数据库项目MSBuild错误

我在Visual Studio 2013中有一个数据库项目作为我的解决scheme的一部分。在过去的三个星期里完美的工作,现在突然间,它不会build立,所以我不能发表任何改变。 我得到一个MSBuild错误: “C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ SSDT \ Microsoft.Data.Tools.Schema.SqlTask​​s.targets(513,5):错误:MSB4018:”SqlBuildTask“任务意外失败System.MethodAccessException:尝试通过方法'Microsoft.Data.Tools.Schema.Sql.Build.SqlTask​​Host.OnCreateCustomSchemaData(System.String,System.Collections.Generic.Dictionary`2)'来访问方法'Microsoft.Data.Tools。 Components.Diagnostics.SqlTracer.ShouldTrace(System.Diagnostics.TraceEventType)“失败”。 任何人有任何想法? 我今天早上做的所有事情都是从源代码控制中取消最新的变化。 我看不出如何搞乱MSBuild的实际过程,而最后签到的人根本没有任何问题。

Visual Studio 2015数据库项目目录包含扩展名为jfm的文件

假设我们有一个名为MyDatabase的数据库项目,那么名为MyDatabase的文件出现在项目目录的根目录中。 在Visual Studio中打开该项目时,它被locking 这是一个二进制文件 它最近才开始出现(过去几天) 我做了一个谷歌search,这没有提供任何见解。 有一些旧的软件的参考,但大多数的结果是垃圾邮件/木马。 我也看过,但是这也没有产生任何结果。 有谁知道它是什么,为什么它在那里? 计划是将其添加到Visual Studio的gitignore文件 ,但我需要知道什么是第一次提交PR … UPDATE 这现在打破了团队资源pipe理器更改视图。 “输出”窗口中没有显示以下内容: 因此,我将把文件添加到.gitignore文件并提交PR 。 最终了解这个文件是什么以及它是从哪里来的…

VS数据库项目中DBMDL文件的function是什么?

Visual Studio数据库项目中的DBMDL文件的function是什么?