Почему SQL Server Object Explorer в Visual Studio так медленно?

Я только что создал новую базу данных SQL Server в Azure, а затем открыл ее в Visual Studio 2015, используя ссылку на Azure Portal. Мне пришлось добавить свой IP-адрес в брандмауэр, но в противном случае процесс прошел гладко.

Однако, когда я пытаюсь взаимодействовать с сервером базы данных с помощью Обозревателя объектов SQL Server, это очень медленно. Расширение любой из папок в моей базе данных (например, Tables) занимает от 10 до 30 секунд. База данных совершенно новая, поэтому единственное, что у нее есть, это то, что создает Azure при создании новой базы данных.

Это вторая база данных Azure, которую я создал и попытался просмотреть в Visual Studio, и обе имеют ту же проблему. С первым я подумал, что, возможно, я сделал что-то неправильно во время установки, но на этот раз я сделал все, чтобы сделать все по книге.

Выполнение актуальных запросов к БД из Visual Studio (щелкните правой кнопкой мыши по DB, New Query ..., select * from INFORMATION_SCHEMA.TABLES;) очень быстро, поэтому это не кажется проблемой для моего подключения к Azure.

Почему так больно медленно? Что я могу сделать, чтобы сделать это быстрее?

Я использую Visual Studio 2015 Update 1 (14.0.24720.00) в Windows 10 (полностью исправленный), и во время создания базы данных я установил флажок, чтобы использовать последнюю версию.

Ответ 1

Проводник объектов SQL Server (SSDT) ​​в Visual Studio строит схему всей базы данных при первом подключении базы данных. Это концепция разработки баз данных на основе моделей, которая обеспечивает такие преимущества, как проверка подлинности сценариев в отношении базы данных без необходимости изменения активной базы данных и т.д. Когда дело доходит до Azure SQL DB, где ресурс ограничен уровнем вашей базы данных, производительность выполнения запросов для извлечения модели базы данных может отличаться. Основываясь на наших тестах производительности, уровни цен выше S1/S2 обеспечивают аналогичную интерактивность, как локальный, так и на предварительный SQL-экземпляр SQL.

Более подробно текущий механизм SSDT состоит в составном минимальном количестве запросов, чтобы свести к минимуму количество операций обратного прохода с SQL-сервером/базой данных, поэтому время выполнения каждого запроса больше. Это влияет на интерактивность Обозревателя объектов SQL Server во время выполнения запроса.

Чтобы повысить эффективность, команда SSDT пересматривает дизайн для Azure SQLDB, чтобы обеспечить более быстрый опыт взаимодействия, сохраняя при этом преимущество разработки баз данных на основе моделей.

Раскрытие информации: я работаю над командой Data Data Tools как PM