2013-04-19 4 views
8

Abbiamo migrato di recente un client alla piattaforma SQL Azure nel corso di una distribuzione di produzione. Con tutti i segni esteriori, ha avuto successo: le app Web ad essa collegate stanno funzionando.SQL Azure - Connessioni non riuscite - Ma nessun problema?

Tuttavia, quando guardiamo al monitor di Azure, vediamo molte connessioni fallite. Non siamo stati in grado di trovare molta documentazione che spieghi cosa costituisce una connessione fallita. E nessuno dei nostri utenti ha segnalato problemi. Qualcuno sa come potrebbe essere?

enter image description here

Utilizzando la query di esempio da questo articolo (View Connection Issues on an SQL Azure Instance)

SELECT  
      [Date From] = EL.[start_time], 
      [Date To] = EL.[end_time], 
      [Database Name] = EL.[database_name], 
      [Event Type] = EL.[event_type], 
      [Event Sub Type] = EL.[event_subtype_desc], 
      [Description] = EL.[description], 
      [Additional Data] = EL.additional_data 
FROM sys.event_log EL 
WHERE EL.event_type != 'connection_successful' 
AND EL.event_subtype_desc != 'idle_connection_timeout' 
ORDER BY [Date From] DESC 

Vediamo risultati come questo:

2013-04-19 16:40:00.0000000 2013-04-19 16:45:00.0000000 [DATABASE] connection_failed blocked_by_firewall Client IP address is not allowed to access the server. NULL 
2013-04-19 16:40:00.0000000 2013-04-19 16:45:00.0000000    connection_failed blocked_by_firewall Client IP address is not allowed to access the server. NULL 
2013-04-19 16:35:00.0000000 2013-04-19 16:40:00.0000000 [DATABASE] connection_failed blocked_by_firewall Client IP address is not allowed to access the server. NULL 
2013-04-19 16:35:00.0000000 2013-04-19 16:40:00.0000000    connection_failed blocked_by_firewall Client IP address is not allowed to access the server. NULL 
2013-04-19 16:30:00.0000000 2013-04-19 16:35:00.0000000 [DATABASE] connection_failed blocked_by_firewall Client IP address is not allowed to access the server. NULL 
2013-04-19 16:30:00.0000000 2013-04-19 16:35:00.0000000    connection_failed blocked_by_firewall Client IP address is not allowed to access the server. NULL 
2013-04-19 16:25:00.0000000 2013-04-19 16:30:00.0000000 [DATABASE] connection_failed blocked_by_firewall Client IP address is not allowed to access the server. NULL 
2013-04-19 16:25:00.0000000 2013-04-19 16:30:00.0000000    connection_failed blocked_by_firewall Client IP address is not allowed to access the server. NULL 
2013-04-19 16:20:00.0000000 2013-04-19 16:25:00.0000000 [DATABASE] connection_failed blocked_by_firewall Client IP address is not allowed to access the server. NULL 
2013-04-19 16:20:00.0000000 2013-04-19 16:25:00.0000000    connection_failed blocked_by_firewall Client IP address is not allowed to access the server. NULL 
2013-04-19 16:15:00.0000000 2013-04-19 16:20:00.0000000 [DATABASE] connection_failed blocked_by_firewall Client IP address is not allowed to access the server. NULL 

E un esempio della nostra stringa di connessione, come richiesto:

<add name="[MyContext]" 
    providerName="System.Data.SqlClient" 
    connectionString=" 
     Server=tcp:[machine].database.windows.net,1433; 
      Database=[database]; 
      User ID=[user]@[machine]; 
      Password=[password]; 
      Trusted_Connection=False; 
      Encrypt=True; 
      Connection Timeout=30;"/> 
+1

Avete verificato [questa documentazione] (http://msdn.microsoft.com/en-us/library/windowsazure/ee336245.aspx), e il [TN Riprova Logic per errori transitori è Database SQL di Windows Azure] (http://social.technet.microsoft.com/wiki/contents/articles/4235.retry-logic-for-transient-failures-in-windows-azure-sql-database.aspx) – astaykov

+0

I ho appena trovato lo stesso articolo di recente. Controlla la domanda aggiornata, ho aggiunto i risultati di una query sul registro eventi e sembrano tutti errori "blocked_by_firewall", anche se nessuno dei nostri utenti sta segnalando problemi ... –

+0

Dove sono le applicazioni che si collegano a SQL Da dove corre l'azzurro? Sei sicuro di aver fornito l'accesso per tutti gli indirizzi IP che ne hanno bisogno? Qualcuno delle applicazioni si connette da un intervallo di IP o ha IP assegnati dinamicamente? Puoi pubblicare il formato delle tue stringhe di connessione? – greg84

risposta

1

Fin dal primo giorno di lancio, non abbiamo più visto connessioni fallite. Il mio pensiero corrente è che potrebbe esserci un processo di back-end sul lato di Azure che non funzionava correttamente con la nuova istanza, ma da allora si è fermato, o è stato corretto, poiché non abbiamo cambiato nulla. Lo lascerò riposare qualche giorno in più e se non vedremo più problemi, aggiungilo ai problemi di impostazione dell'ambiente.

enter image description here

Ecco lo stato di una settimana o giù di lì. Non un sito molto utilizzato, ma nessun segno di più errori di connessione.

enter image description here

+0

Ho avuto lo stesso problema su un sito web di Azure con Mongo, Memcached e Redis. (Tutti e 3 ospitati autonomamente) Rimossa dipendenza da Redis, modifica Memcached in Azure Cache e Mongo hosting in MongoLabs. Il problema ha smesso di apparire.Oggi ho creato un ambiente di prova con una configurazione simile e i problemi ci sono ancora. – Philip