为什么Visual Studio中的SQL Server对象资源管理器这么慢?

Mic*_*ltu 14 sql-server azure visual-studio visual-studio-2015 azure-sql-database

我刚刚在Azure中创建了一个新的SQL Server数据库,然后使用Azure门户中的链接在Visual Studio 2015中打开它.我不得不将我的IP添加到防火墙,但其他过程进展顺利.

但是,当我尝试通过SQL Server对象资源管理器与数据库服务器进行交互时,速度非常慢.扩展我的数据库中的任何文件夹(例如,Tables文件夹)需要10到30秒.数据库是全新的,因此它唯一拥有的是Azure在实例化新数据库时创建的内容.

这是我创建并尝试在Visual Studio中查看的第二个Azure数据库,两者都有相同的问题.有了第一个,我想也许我在设置过程中做错了什么,但这次我确保按照这本书做了一切.

从Visual Studio中运行针对DB实际查询(右键单击DB, ,New Query ...)select * from INFORMATION_SCHEMA.TABLES;是非常快的,所以它不会出现能与我连接到Azure中的问题.

为什么这么痛苦?我该怎么做才能让它更快?

14.0.24720.00在Windows 10上使用Visual Studio 2015 Update 1()(完全修补),在数据库创建期间,我选中了框以使用最新版本.

Eri*_*ang 9

第一次连接数据库时,Visual Studio中的SQL Server对象资源管理器(SSDT)构建整个数据库的模式模型.这是基于模型的数据库开发的概念,它提供诸如针对数据库验证脚本而不需要修改实时数据库等的好处.当涉及资源受限于数据库定价层的Azure SQL DB时,执行查询的性能获取数据库模型可能会有所不同.根据我们的性能测试,S1/S2之上的定价层提供了与本地或本地SQL实例类似的交互性.

更详细地说,当前SSDT的机制是组合最小数量的查询以最小化SQL服务器/数据库的往返操作的数量,因此每个查询执行时间更长.在执行查询时,它会影响SQL Server对象资源管理器的交互性.

为了增强,SSDT团队正在修改Azure SQLDB的设计,以提供更快的交互体验,同时保持基于模型的数据库开发的优势.

披露:我作为PM在SQL Data Tools团队工作

  • "`......当你第一次连接数据库时......""我在每次交互时遇到的都很慢,而不仅仅是在初始加载时.模型是否未缓存,而是在每次与数据库交互时更新? (8认同)
  • 具有20个空表的S0数据库的模式的初始加载花费超过30秒.但更糟糕的是,我之后执行的每一个操作(展开表的列或打开其设计视图)都需要一分多钟......初始模式构建的重点是什么呢??? 对不起男人,但这里出了点问题...... (5认同)
  • 我同意@ Vi100.它现在无法使用. (4认同)
  • @EricKang有什么更新?这仍然是无法使用和痛苦的,SSMS也很慢...... (3认同)
  • 对于快速数据库模式浏览和简单模式发现,VS中的SSMS或Server Explorer等工具将更快,因为这些工具遵循不同的方法,根据您的交互,他们根据需要获取一部分模式信息,因此每个事务都要小得多,速度更快虽然很健谈. (2认同)
  • 这太疯狂了.它还会使Visual Studio随机挂起超过一分钟,或刷新任何表的数据视图.有些事情是错的! (2认同)
  • 两年后,我们处于同一点......什么样的专业人士正在从事这项工作? (2认同)