【发布时间】:2016-09-28 11:27:22
【问题描述】:
在 Visual Studio 中使用 SQL Server 数据库项目时,如果数据库中有超过 1000 个存储过程,则在导入时,Visual Studio 会将这些过程拆分到单独的目录中。
当您尝试在此类导入后通过“架构比较”功能将任何新存储过程同步到项目中时,Visual Studio 会忘记这种拆分文件夹结构,并将所有新脚本直接放入“存储过程”文件夹中。这意味着脚本化的新存储过程不适合现有结构,这迫使用户要么使用这种分离的结构,要么手动更新项目引用并将文件复制回 Visual Studio 创建的初始结构。
步骤
- 创建一个新的 SQL 项目。
- 在解决方案资源管理器中右键单击项目 > 选择“导入”>“数据库”。
- 将项目绑定到一个 SQL2008 数据库,该数据库存储了 1000 多个 程序。为“每个文件夹的最大文件数”选择 1000。
- 允许 VS 编写所有存储过程的脚本。它会自动 分成1000个批次并创建一个新文件夹'Proc1','Proc2' 必要时为每批。
- 通过右键单击 SQL 项目打开新的比较 > 选择“架构比较”。
- 通过将 SQL 项目与您的项目进行比较来验证已正确同步的数据库 原始数据库。应该没有待处理的更改。
- 在已同步的数据库中创建一个新的存储过程。
- 再次运行比较,现在应该会显示新的存储过程 在“添加”类型下。
- 单击“更新”并允许 VS 为新过程创建脚本。
- 不是将新脚本放置在原来的 1000 分隔文件夹结构中,而是将新脚本直接放置在“存储过程”文件夹中。
【问题讨论】:
标签: visual-studio database-project