2013-09-03 1 views
2

Я получаю следующую исключение SQL с перерывами, когда моя роль рабочего Azure пытается подключиться к базе данных Azure SQL для вызова ExecuteCommand с использованием LINQ-to-SQL:SQL Azure: «Экземпляр SQL Server, к которому вы пытались подключиться, требует шифрования, но этот аппарат не поддерживает его»

«Экземпляр SQL Server, к которому вы пытались подключиться, требует шифрования, но этот аппарат не поддерживает его».

Google, похоже, ничего не знает об этом сообщении об ошибке. Трассировка стека показывает, что он терпит неудачу во время предварительного входа рукопожатия:

System.Data.SqlClient.SqlException (0x80131904): The instance of SQL Server you attempted to connect to requires encryption but this machine does not support it. 
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 
at System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake(Boolean encrypt, Boolean trustServerCert, Boolean& marsCapable) 
at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) 
at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject, Boolean withFailover) 
at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) 
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) 
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) 
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) 
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) 
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 
at System.Data.SqlClient.SqlConnection.Open() 
at System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user) 
at System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe() 
at System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode() 
at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) 
at System.Data.Linq.DataContext.ExecuteCommand(String command, Object[] parameters) 

я нашел сообщения о других, подобных ошибок, которые были из-за различных проблем в предварительно войти в рукопожатии (в котором он просто упал обратно к подобное сообщение об ошибке для любой проблемы в рукопожатии) и другие, где необходимо изменить параметр «Силовое шифрование» SQL Server, но поскольку это база данных Azure SQL, я не могу войти и изменить этот параметр в SQL Server и дон Я действительно ожидаю, что мне это нужно.

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

EDIT: Пока не указано иное, я делаю это с ошибками переходного процесса из-за большого трафика на сервере БД из другого моего хоста. Подробности в следующем вопросе, который я задал: Can two Azure SQL databases on the same server affect each other's performance?

+0

Вы можете указать шифрование в строке соединения, а не настройку сервера, которую вы можете увидеть, если это поможет (отключить его явно). Кроме того ... если это прерывистая ошибка (у меня есть базы данных prod в SQL Azure и меньше, чем 1% соединений), убедитесь, что вы используете блок политики повторной попытки для отказоустойчивости соединения. –

ответ

0

У меня был этот вопрос сегодня утром, я мог подключиться к моему экземпляру sql azure с моей машины, мог войти в систему через портал управления Azul Azul, но не через мою лазурь Веб-сайт.

Решение в конце концов должно было войти в приборную панель для лазурного сайта и добавить базу данных в качестве связанного ресурса.

не очень очевидно и, может быть, совпадение, но на данный момент это работает.

+0

Спасибо, но моя база данных уже добавлена ​​в облачную службу как связанный ресурс. Вопрос только что происходит периодически, поэтому я чувствую, что какое-то переходное состояние может быть в игре. – user1454265