【问题标题】:SSDT project structure after conversion from VS 2010 DB project从 VS 2010 DB 项目转换后的 SSDT 项目结构
【发布时间】:2012-06-16 13:15:10
【问题描述】:

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

  • 项目
    • 数据生成计划
    • dbo
      • 表格
      • 观看次数
    • 架构比较
    • 架构对象
      • 数据库级对象
        • ...
      • 架构
        • dbo
          • 可编程性
          • 服务代理
          • 同义词
          • 表格
          • 观看次数
    • 脚本
      • 部署后
      • 预部署
    • 安全性

如果似乎有些表和视图在Project\Schema Objects\Schemas\dbo 下,而有些在Project\dbo 下。

实际问题:

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

  2. 我可以将文件合并到一个文件夹下吗?如果可以,是哪个?

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

  4. 如果我在导入过程中选择了创建备份,备份信息保存在哪里? - 我希望能够删除它。


编辑:

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

【问题讨论】:

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 2012-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-09
      相关资源
      最近更新 更多