Udostępnij za pośrednictwem


Rozwiązywanie problemów z magazynem

Dotyczy:✅ Magazyn w usłudze Microsoft Fabric

Ten artykuł zawiera wskazówki dotyczące rozwiązywania typowych problemów w magazynie w usłudze Microsoft Fabric.

Przejściowe błędy połączeń

Błąd przejściowy, znany również jako błąd przejściowy, ma podstawową przyczynę, która wkrótce się rozwiąże. Jeśli połączenie z magazynem działa prawidłowo, ale rozpoczyna się niepowodzenie bez zmian uprawnień użytkownika, zasad zapory i konfiguracji sieci, przed skontaktowaniem się z pomocą techniczną spróbuj wykonać następujące czynności:

  1. Sprawdź stan Magazynu i upewnij się, że nie został wstrzymany.
  2. Nie należy natychmiast ponawiać próby nieudanego polecenia. Zamiast tego poczekaj od 5 do 10 minut, ustanów nowe połączenie, a następnie spróbuj ponownie wykonać polecenie. Czasami system platformy Azure szybko przenosi zasoby sprzętowe w celu lepszego równoważenia obciążenia różnych obciążeń. Większość z tych zdarzeń ponownej konfiguracji kończy się w mniej niż 60 sekund. W tym przedziale czasu ponownej konfiguracji mogą wystąpić problemy z nawiązywaniem połączenia z bazami danych. Połączenie może również zakończyć się niepowodzeniem, gdy usługa jest automatycznie uruchamiana ponownie, aby rozwiązać niektóre problemy.
  3. Nawiąż połączenie przy użyciu innej aplikacji i/lub z innej maszyny.

Niepowodzenie zapytania z powodu problemu z miejscem w bazie danych tempdb

Jest tempdb to systemowa baza danych używana przez aparat do różnych potrzeb magazynu tymczasowego podczas wykonywania zapytań. Nie można uzyskać do niego dostępu ani skonfigurować go przez użytkowników. Zapytania mogą zakończyć się niepowodzeniem z powodu tempdb braku miejsca. Wykonaj następujące kroki, aby zmniejszyć tempdb użycie miejsca:

  1. Zapoznaj się z artykułem na temat statystyk , aby sprawdzić, czy statystyki kolumn zostały utworzone we wszystkich tabelach.
  2. Upewnij się, że wszystkie statystyki tabeli są aktualizowane po dużych transakcjach DML.
  3. Zapytania ze złożonymi numerami JOIN, GROUP BY i ORDER BY oraz oczekują zwracania dużego zestawu wyników używają więcej tempdb miejsca w wykonaniu. Zaktualizuj zapytania, aby zmniejszyć liczbę kolumn GROUP BY i ORDER BY, jeśli to możliwe.
  4. Uruchom ponownie zapytanie, gdy nie ma żadnych innych aktywnych zapytań uruchomionych, aby uniknąć ograniczenia zasobów podczas wykonywania zapytania.

Wydajność zapytań wydaje się spadać w czasie

Wiele czynników może mieć wpływ na wydajność zapytania, takie jak zmiany rozmiaru tabeli, niesymetryczność danych, współbieżność obciążenia, dostępne zasoby, sieć itp. Tylko dlatego, że zapytanie działa wolniej, nie musi oznaczać, że występuje problem z wydajnością zapytań. Wykonaj następujące kroki, aby zbadać zapytanie docelowe:

  1. Zidentyfikuj różnice we wszystkich czynnikach wpływających na wydajność między dobrymi i złymi przebiegami wydajności.
  2. Zapoznaj się z artykułem na temat statystyk , aby sprawdzić, czy statystyki kolumn zostały utworzone we wszystkich tabelach.
  3. Upewnij się, że wszystkie statystyki tabeli są aktualizowane po dużych transakcjach DML.
  4. Sprawdź niesymetryczność danych w tabelach podstawowych.
  5. Wstrzymywanie i wznawianie usługi. Następnie uruchom ponownie zapytanie, gdy nie są uruchomione żadne inne aktywne zapytania. Obciążenie magazynu można monitorować przy użyciu widoku DMV.

Zapytanie kończy się niepowodzeniem po uruchomieniu przez długi czas. Żadne dane nie są zwracane do klienta.

Instrukcja SELECT mogła zakończyć się pomyślnie w zapleczu i kończy się niepowodzeniem podczas próby zwrócenia zestawu wyników zapytania do klienta. Spróbuj wykonać następujące czynności, aby wyizolować problem:

  1. Użyj różnych narzędzi klienckich, aby ponownie uruchomić to samo zapytanie.
    • SQL Server Management Studio (SSMS)
    • Azure Data Studio
    • Edytor zapytań SQL w portalu usługi Microsoft Fabric
    • Edytor zapytań wizualnych w portalu usługi Microsoft Fabric
    • Narzędzie SQLCMD (do uwierzytelniania za pośrednictwem identyfikatora Entra firmy Microsoft (dawniej Azure Active Directory) universal z usługą MFA, użyj parametrów -G -U)
  2. Jeśli krok 1 zakończy się niepowodzeniem, uruchom polecenie CTAS z nieudaną instrukcją SELECT, aby wysłać wynik zapytania SELECT do innej tabeli w tym samym magazynie. Korzystanie z usługi CTAS pozwala uniknąć wysyłania zestawu wyników zapytań z powrotem do maszyny klienckiej. Jeśli polecenie CTAS zakończy się pomyślnie, a tabela docelowa zostanie wypełniona, oryginalne niepowodzenie zapytania prawdopodobnie jest spowodowane przez problemy z frontonem magazynu lub klientem.

Co należy zebrać przed skontaktowaniem się z pomocą techniczną firmy Microsoft

  • Podaj identyfikator obszaru roboczego magazynu.
  • Podaj identyfikator instrukcji i identyfikator żądania rozproszonego. Są one zwracane jako komunikaty po zakończeniu lub niepodaniu zapytania.
  • Podaj tekst dokładnego komunikatu o błędzie.
  • Podaj czas zakończenia lub niepowodzenia zapytania.