从VS 2010 DB项目转换后的SSDT项目结构

时间:2012-06-13 14:38:15

标签: sql-server visual-studio-2010 sql-server-data-tools

将VS 2010 DB项目转换为SSDT(SQL Server数据工具)项目后 (以及与数据库和SSDT项目之间的一些比较)我收到了以下文件夹结构:

  • 项目
    • 数据生成计划
    • DBO
      • 浏览
    • 架构比较
    • 架构对象
      • 数据库级对象
        • ...
      • 架构
        • DBO
          • 可编程
          • Service Broker
          • Synonymns
          • 浏览
    • 脚本
      • 部署后
      • 预部署
    • 安全

如果某些表和视图看起来在Project\Schema Objects\Schemas\dbo下,而有些则在Project\dbo下。

实际问题:

  1. 为什么有两个不同的文件夹?
    (我怀疑导入与此有关。)

  2. 我可以将这些文件统一到一个文件夹下吗?如果有的话?

  3. 如果没有,我要向哪个文件夹添加新文件?

  4. 如果我在导入期间选择了创建备份,那么保存的备份信息在哪里? - 我希望能够将其删除。


  5. 编辑:

    另一个不一致 - Project\dbo\Tables下的文件包含键和约束,而Project\Schema Objects\Schemas\dbo\Tables下的文件被拆分(表格分开,约束分开等等)

2 个答案:

答案 0 :(得分:3)

当我从DB Pro 2005升级到DB Pro 2008时,我发生了同样的事情。我还没有转换为SSDT格式,但在之前的情况下,我只是将文件合并回旧文件夹。

但是,在某些情况下,如果项目很简单,或者数据库项目相对较新,我只会重新制作项目。 (如果我重新创建/重新导入,那么我将丢失源代码管理中文件的历史记录。)。

答案 1 :(得分:2)

似乎导入的文件(来自VS 2010 dbproj)位于Project\Schema Objects\Schemas\dbo\Tables之下,而之后添加的所有内容都位于Project\dbo\Tables下。

新定义不会拆分成不同的文件和文件夹(表,索引,键,...),这会使文件系统路径变得更深,并且更容易读取有关特定表的所有信息(特别是如果键/索引/删除约束,然后与表格文件的旧版本进行比较。

将表格移动到Project\dbo\Tables并将卫星文件的内容移动到主文件中似乎有效(您必须在文件中的命令之间添加“GO”)。

另一种选择是从sqlproj创建数据库(通过比较数据库与项目),删除旧文件,然后通过比较项目与数据库以新格式重新创建它们。