2015-04-24 5 views
13

Kiedy jestem zapytań z bazy danych w ciągłej pętli, po pewnym czasie pojawia się błąd:Błąd podczas connect bazie stale

Wyjątek został podniesiony, że jest prawdopodobne, ze względu na przemijające awarii. Jeśli łączysz się z bazą danych SQL Azure, rozważ użycie SqlAzureExecutionStrategy.

Zwykle działa poprawnie.

+0

Sprawdź dzienniki serwera (gdzie znajduje się serwer SQL). Może to być spowodowane odrzuceniem przez serwer kolejnych żądań. Użyj przeglądarki ULS, aby sprawdzić dzienniki. W takim przypadku może być konieczna modyfikacja ustawień serwera. – anbuj

+0

Używamy bazy danych Azure. Czy istnieje możliwość sprawdzania dzienników w bazie danych Azure? – user3928324

+0

Tak. Zakładając, że masz dostęp do swojego środowiska Azure. – anbuj

Odpowiedz

10

Podczas łączenia z bazą danych SQL należy uwzględnić przejściowe błędy połączenia. Te awarie połączenia mogą się zdarzyć na przykład po wdrożeniu aktualizacji, awarii sprzętu itp. Błąd, który widzisz, oznacza, że ​​nastąpiła jedna z tych rzeczy, co oznacza, że ​​połączenie zostało przerwane. Włączenie strategii wykonania zgodnie z sugestią Anbuj powinno rozwiązać problem.

6

Włącza strategię wykonywania, jak wspomniano tutaj: https://msdn.microsoft.com/en-us/data/dn456835.aspx. Podczas projektowania bazy danych Azure SQL DB należy zaprojektować przejściowe awarie połączenia, ponieważ aktualizacje zaplecza, awarie sprzętu i równoważenie obciążenia mogą czasami powodować sporadyczne awarie.

-1

Jeśli twoja baza danych jest lokalna, na przykład sieć WebAPI, musisz podać źródło danych = localhost, a nie adres IP. Mamy sytuację, w której używamy niektórych VPS i bez ustawiania źródła danych do localhost daje ten błąd. Tak więc, jeśli ktokolwiek to przeżył, może mu to pomóc.

+0

To brzmi jak kolejny problem. Nie bezpośrednio związane z połączeniem sql. Więcej problemu z VPS – Zapnologica

+0

Tak, zgadzam się. Chciałem tylko wskazać, że może to być inny problem z połączeniem z serwerem. – MaGnumX

2

Otrzymuję ten błąd, gdy login, który próbuję połączyć się z bazą danych, nie ma powiązanego użytkownika w bazie danych.