Identyfikowanie błędów uwierzytelniania i autoryzacji

Ukończone

Błąd połączenia może wynikać z ponownej konfiguracji, ustawień zapory, przekroczenia limitu czasu połączenia lub nieprawidłowych informacji logowania. Co więcej, jeśli niektóre zasoby usługi Azure SQL Database lub wystąpienia zarządzanego SQL są przeciążone, nie będzie można nawiązać połączenia.

Błąd przejściowy

Gdy duże obciążenia zwiększają się w usłudze SQL Database, infrastruktura platformy Azure może dynamicznie ponownie skonfigurować serwery, a aplikacja kliencka może utracić połączenie z bazą danych podczas tej operacji.

Błędy przejściowe występują podczas ponownej konfiguracji bazy danych planowanego zdarzenia lub nieplanowanego zdarzenia. Te zdarzenia są krótkie i nie powinny trwać dłużej niż 60 sekund.

Oto lista kilku przejściowych błędów, które mogą być odbierane przez aplikacje podczas nawiązywania połączenia z usługą Azure SQL Database:

  • Nie można otworzyć bazy danych "%.*ls" żądanej podczas logowania. Logowanie nie powiodło się.
  • Nie można przetworzyć żądania. Za mało zasobów do przetworzenia żądania.
  • Nie można przetworzyć żądania. Zbyt wiele operacji w toku dla subskrypcji „%ld”.

Jak monitorować błędy łączności przejściowej

Błąd Akcja
Błędy logowania Poszukaj wszelkich awarii w czasie, gdy aplikacja zgłosiła błędy na pulpicie nawigacyjnym usługi platformy Microsoft Azure.
Baza danych osiąga limity zasobów Uważnie monitoruj zasoby obliczeniowe i magazynowe bazy danych i podejmij działania, gdy osiągnie limity zasobów, aby zapobiec przejściowym awariom.
Błędy uwierzytelniania rozszerzonego Utwórz żądanie pomoc techniczna platformy Azure za pośrednictwem witryny Azure Portal, jeśli aplikacja napotka błąd łączności przez więcej niż 60 sekund lub występuje więcej niż raz w danym dniu.

Logika ponowień

Deweloperzy aplikacji powinni przewidywać okresowe błędy przejściowe podczas integracji z usługami w chmurze, takimi jak usługa Azure SQL Database, i implementować logikę ponawiania prób zamiast wyświetlać błędy aplikacji dla użytkowników. Ważne jest, aby ustawić maksymalną liczbę ponownych prób przed zakończeniem programu.

Zalecamy poczekanie co najmniej 5 sekund na pierwszą ponowną próbę. Każda kolejna ponowna próba powinna zwiększyć opóźnienie wykładniczo do maksymalnie 60 sekund.

Uwaga

Jeśli instrukcja zakończy się niepowodzeniem z błędem przejściowym SELECT w bazie danych SQL lub instancji zarządzanej SQL, unikaj bezpośredniego ponawiania wykonania. Zamiast tego spróbuj ponownie wykonać instrukcję SELECT przy użyciu nowego połączenia.

Nie można zalogować się do serwera

Gdy błąd Logowanie nie powiodło się dla użytkownika "< Nazwa >użytkownika" , administrator usługi może wykonać następujące czynności:

  1. Sprawdź, czy logowanie jest wyłączone przy użyciu sys.sql_logins widoku wykazu.
  2. Jeśli logowanie jest wyłączone, uruchom polecenie ALTER LOGIN <User name> ENABLE; , aby go włączyć.
  3. Jeśli identyfikator logowania nie istnieje, utwórz go przy użyciu instrukcji CREATE LOGIN .
  4. Połącz się z bazą danych, do której chcesz udzielić użytkownikowi dostępu, i uruchom instrukcję CREATE USER .
  5. Przypisz użytkownikowi rolę przy użyciu ALTER ROLE polecenia lub przyznaj użytkownikowi dostęp do co najmniej jednego obiektu bazy danych przy użyciu GRANT polecenia .

Łańcuch połączenia

Jeśli wystąpią błędy łączności, dobrym rozwiązaniem jest upewnienie się, że parametry połączenia działają prawidłowo. Jest to przede wszystkim ważne podczas aprowizowania nowej bazy danych lub po wprowadzeniu zmian w infrastrukturze w usłudze bazy danych.

Witryna Azure Portal umożliwia pobranie parametry połączenia, które należy wchodzić w interakcję z usługą Azure SQL Database.

  1. W witrynie Azure Portal wybierz pozycję Wszystkie usługi, a następnie pozycję Bazy danych SQL. Filtruj i wybierz bazę danych.

  2. Na karcie dla bazy danych, wybierz Parametry połączenia.

  3. Skopiuj i zmodyfikuj parametry połączenia, dołączając hasło lub zastępując nazwę serwera zgodnie z potrzebami.

  4. Odwołanie do parametry połączenia zaktualizowane w aplikacji klienckiej.

Aby dowiedzieć się więcej o błędach łączności dla usług Azure SQL Database i Azure SQL Managed Instance, zobacz Rozwiązywanie problemów z łącznością i innych błędów związanych z usługą Azure SQL Database i usługą Azure SQL Managed Instance.