Не удается подключиться к мастеру SQL Azure из рабочей роли - PullRequest
1 голос
/ 02 сентября 2011

В настоящее время мы работаем с SQL Azure и (безуспешно) пытались указать рабочую роль для базы данных master в SQL Azure, чтобы автоматизировать операции с базой данных, для которых требуется мастер.

К сожалению, это не похоже на работу.

Немного предыстории: «Разрешить другим службам Windows Azure доступ к этому серверу» включен, и у нас настроено правило брандмауэра, чтобы включить это.

Мы подозреваем, что это может быть отсутствующее правило брандмауэра, которое содержит ключ к этому. Наша рабочая роль работает против других SQL Azure DB, но не против мастера в настоящее время ...

Если кто-нибудь может указать мне правильное направление, я буду благодарен!

Cheers, Яго

1 Ответ

2 голосов
/ 20 ноября 2011

Проблема с основной базой данных оказалась из-за красной сельди. Реальная проблема заключалась в том, что я использовал объекты System.Data.SqlClient и Microsoft.SqlServer.Management для запуска пакетного сценария SQL для мастера (код в стиле ниже).

var serverConnection = new ServerConnection(sqlConnection);
var server = new Server(serverConnection);
server.ConnectionContext.ExecuteNonQuery(sql);

После долгих ударов головой о стену проблема заключалась в том, что необходимые библиотеки для использования этих библиотек просто не работали в Azure (мы продолжали получать сообщения об отсутствующих зависимостях).

В конце концов, наше решение состояло в том, чтобы разбить пакетный сценарий на несколько индексов (по существу, разбить на части, где бы ни находился оператор GO) и запустить с использованием стандартных объектов ADO.NET. Это оказалось лучшим, более универсальным решением, так что в конце концов у нас все получилось!

...