分析数据库模式需要数小时

时间:2012-03-16 08:28:36

标签: visual-studio visual-studio-2010 sql-server-2005

在VS2010中使用新的SQL2005数据库项目。 我确实导入了对象和设置,并构建了项目。 它似乎停留在'分析数据库架构。完成3267操作后,您的数据库项目就会准备好。

这似乎需要数小时。 有什么方法可以加快速度吗?

我在某处读到,如果我的.dbmdl文件太大,可能会发生这种情况,但只有2.6MB。

10 个答案:

答案 0 :(得分:33)

  1. 转到项目设置
  2. 点击数据库设置按钮
  3. 操作标签

    3.1取消选中自动创建统计信息

    3.2取消选中自动更新统计信息复选框。

  4. 这会使您的操作次数减少约90%,分析应立即

答案 1 :(得分:11)

这个问题有点陈旧但是当你搜索一个解决方案时会出现这个问题,所以我会增加2美分。

如果在安装修复程序后仍然遇到此问题,请尝试此操作,这对我有用:

在Windows资源管理器中打开数据库项目文件夹。删除以下文件/文件夹:

  • 在根目录中,.dbmdl文件
  • “sql”目录的内容
  • obj目录。

关闭并重新打开Visual Studio。单击构建。

这个项目对我很好。

答案 2 :(得分:5)

根据2013年3月更新的SQL Server数据层应用程序框架的发行说明,此错误现在应该修复。

  

Visual Studio中的数据库项目挂起“分析数据库架构...”此版本解决了加载或构建大型数据库项目时可能出现的问题。在某些情况下,操作永远不会完成。这是一个功能性修复,而不是性能增强 - 即使使用修复,完成此操作的时间取决于项目的大小和复杂性

http://blogs.msdn.com/b/ssdt/archive/2013/03/06/sql-server-data-tier-application-framework-march-2013-available.aspx

http://www.microsoft.com/en-us/download/details.aspx?id=36842

答案 3 :(得分:1)

如果SSDT项目不是您一直使用的东西(就像我的情况一样),您可以卸载项目,并将其卸载。这样就可以在Visual Studio中打开解决方案。

当您需要在SSDT项目中执行某些操作时,您可以重新加载项目。

答案 4 :(得分:1)

古老的问题,但看起来仍然没有解决。

我的dacpac有10000多个对象,并且在Validation阶段,构建卡住了40分钟以上。 尝试了其他评论和答案中建议的选项,但不满意。

显然,模型的验证也执行“案例搜索”。 我取消选中该选项,构建时间降到了不到一分钟。

Validate Casing on identifies in SQL Server project in VS2017

答案 5 :(得分:0)

这是一个可能的解决方案。 (由于速度问题,我之前不得不在SQL数据库上重新创建模式),但本文可能值得一看。 - 听起来更接近你的问题。 Can't open my dbml file in Visual Studio 2010 anymore

答案 6 :(得分:0)

分析数据库对象(在VS 2015 Update 3中)比平常花费更多时间,并且在重复尝试重新启动VS后发生。当物体数量没有改变15分钟时,我怀疑物体已经挂起了。对我来说,以下让我再次前进;

  1. 关闭VS
  2. 制作解决方案文件(* .sln)的备份副本
  3. 编辑解决方案文件,删除数据库项目重启VS.一世 发现我现在能够打开解决方案并构建
  4. 关闭解决方案并用原始文件替换已编辑的解决方案文件 备份
  5. 重启VS.我发现解决方案这次打开了,我能够成功构建
  6. 希望这有助于我所在的同一地点。

答案 7 :(得分:0)

在这种情况下,如果您不将其(sql文件)包括在项目构建中,则在创建文件时选择选项“不在构建中”或更改sql文件的属性Build =“ None”。这将对.sqlproj文件进行更改,并要求Visual Studio重新启动。

为我解决了这个问题,挽救了我的生命!

答案 8 :(得分:0)

我什至在Visual Studio 2019企业版16.3.2中遇到此问题 我通过删除本地数据库项目解决了该问题,并从我的DevOps代码存储库中递归地获取了该项目的最新版本

答案 9 :(得分:0)

尝试关闭Visual Studio并删除解决方案根目录中的 .vs 文件夹。

(VS会在您下次运行它时重新创建,尽管您可能需要再次设置启动项目)。