Тайм-аут сравнения

При выполнении сравнения схем в Visual Studio 2013 между проектом базы данных и базой данных SQL Azure у меня возникают следующие ошибки времени ожидания:

Ошибка 1 При попытке выполнить обратный инжиниринг элементов типа Microsoft.Data.Schema.Sql.SchemaModel.ISqlUser была получена ошибка от SQL Server: истекло время ожидания. Время ожидания истекло до завершения операции или сервер не отвечает.

Ошибка 2 ExecuteReader требует открытого и доступного соединения. Текущее состояние соединения закрыто.

Я делаю это на виртуальной машине Windows Server 2012 R2, размещенной в Azure.

  • Разрешено использование порта 1433 в брандмауэре
  • IP-адрес виртуальной машины разрешен на сервере баз данных SQL (Azure)

Я могу просто запросить базу данных с помощью обозревателя объектов SQL Server в Visual Studio, чтобы быть уверенным в возможности подключения и учетной записи.

Существуют ли другие параметры безопасности, которые могут вызывать у меня эти проблемы?

1 ответ

Решение

Время соединения с базой данных SQL Azure истечет, если вы превысите предел пропускной способности базы данных (DTS). Это может легко произойти, если вы используете базовый уровень обслуживания базы данных SQL в Azure.

Базовый уровень обслуживания ограничен 5 единицами пропускной способности базы данных (5 DTU), поэтому, если у вас много сравнений, он может превысить пороговое значение. Попробуйте перейти на стандартный уровень обслуживания базы данных SQL (с пороговым пределом 10 DTU) и посмотрите, исчезнет ли проблема.

Чтобы узнать больше об истечении времени ожидания при публикации в базе данных SQL, см. Следующий пост:

http://blogs.msdn.com/b/sqlblog/archive/2014/11/13/timeout-expired-while-publishing-to-sql-database-via-ssdt.aspx

Сообщение об ошибке тайм-аута вводит в заблуждение.

Другие вопросы по тегам