Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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
Sql server SSDT是否只为更改的对象创建脚本? 我目前正在使用Team Foundation Server(TFS)对数据库对象重新设计部门的源代码控制策略。本质上,此时我们不在TFS中存储任何内容。我发现了SSDT,并且非常喜欢它们在visualstudio中的集成,我认为这将使我们向TFS的过渡变得更加容易_Sql Server_Tfs_Sql Server Data Tools - Fatal编程技术网

Sql server SSDT是否只为更改的对象创建脚本? 我目前正在使用Team Foundation Server(TFS)对数据库对象重新设计部门的源代码控制策略。本质上,此时我们不在TFS中存储任何内容。我发现了SSDT,并且非常喜欢它们在visualstudio中的集成,我认为这将使我们向TFS的过渡变得更加容易

Sql server SSDT是否只为更改的对象创建脚本? 我目前正在使用Team Foundation Server(TFS)对数据库对象重新设计部门的源代码控制策略。本质上,此时我们不在TFS中存储任何内容。我发现了SSDT,并且非常喜欢它们在visualstudio中的集成,我认为这将使我们向TFS的过渡变得更加容易,sql-server,tfs,sql-server-data-tools,Sql Server,Tfs,Sql Server Data Tools,那么,SSDT是否能够根据我的SSDT项目的增量与服务器中的增量生成脚本?从我的研究看来,我只能生成一个完整的数据库脚本 需求(请注意,我们的开发人员没有ddl访问生产的权限): 我无法删除数据库以重新创建它 我无法删除所有对象(如所有存储的进程)来重新创建它们,但只能删除我需要的对象 表将需要更改,而不是删除,只需更改已更改的内容 Dacpac是不可能的 根据目前的环境,我们最好的选择是使用脚本进行更新 我们的数据库环境目前是SQL Server 2008 R2。我的SSDT版本是2013年6

那么,SSDT是否能够根据我的SSDT项目的增量与服务器中的增量生成脚本?从我的研究看来,我只能生成一个完整的数据库脚本

需求(请注意,我们的开发人员没有ddl访问生产的权限):

  • 我无法删除数据库以重新创建它
  • 我无法删除所有对象(如所有存储的进程)来重新创建它们,但只能删除我需要的对象
  • 表将需要更改,而不是删除,只需更改已更改的内容
  • Dacpac是不可能的
  • 根据目前的环境,我们最好的选择是使用脚本进行更新

  • 我们的数据库环境目前是SQL Server 2008 R2。我的SSDT版本是2013年6月发布的最新版本

    是的,如果您从项目中发布,您将几乎满足所有这些要求,尽管DACPAC是作为过程的一部分构建的。模式比较和部署前/部署后脚本存储在dacpac中,发布将根据数据库中当前的内容读取“应该”的内容。然后,它生成一个包含所有必要更改的更改脚本,以使数据库与项目保持一致

    确保在重命名对象时使用重构/重命名-这将减少表的删除/重新创建操作。您可能需要小心使用“放置不在项目中的对象”选项。如果您没有仔细确保在生产服务器中创建的所有对象都在项目中,您可能会因为有人没有签入而意外删除一些重要的对象


    SQLPackage命令中有一些命令行,可以生成更改详细信息报告和脚本,供您使用。脚本需要通过SQLCMD或在SQLCMD模式下运行,但您肯定可以非常轻松地生成脚本。

    Hi,想知道您是否找到了任何解决方案来获取增量sql?我认为Peter Schott下面的答案与我的答案非常接近。在我发现Peter的回答是否对我们有帮助之前,我们不得不放弃SSDT,因为我们有循环引用,链接服务器从一个SQL数据库返回到另一个SQL数据库。SSDT每次都会出错,因为它想构建这些对象,但它不起作用。我找不到解决这个问题的办法。不幸的是,我们无权在数据库中更改此项。对不起,我帮不上什么忙了。