Udostępnij przez


Rozwiązywanie problemów z zapytaniami KQL w usłudze data lake Microsoft Sentinel

Skorzystaj z poniższej listy kontrolnej, aby rozwiązać typowe problemy podczas pracy z zapytaniami i zadaniami języka zapytań KQL (Kusto Query Language) w usłudze Microsoft Sentinel data lake.

  • Przed uruchomieniem zapytań lub zadań sprawdź wymagania wstępne. Aby uzyskać więcej informacji, zobacz Role i uprawnienia dla Microsoft Sentinel Data Lake.

  • Przed wykonaniem zapytań lub zadań KQL upewnij się, że wybrano odpowiednie obszary robocze.

  • Upewnij się, że wszystkie przywołyane tabele i obszary robocze istnieją i są dostępne.

  • Użyj tylko obsługiwanych operatorów I poleceń KQL, aby uniknąć błędów wykonywania.

  • Dostosuj zapytanie za pomocą filtrów, takich jak zakres czasu, aby uniknąć przekroczenia limitu czasu zapytania.

Walidacja specyficzna dla zadania:

  • Sprawdź, czy masz prawidłową rolę dla docelowego obszaru roboczego podczas tworzenia nowych tabel niestandardowych za pośrednictwem zadań. Aby uzyskać więcej informacji, zobacz Role i uprawnienia dla Microsoft Sentinel Data Lake.

  • Przetestuj zapytania w edytorze KQL, aby przechwycić błędy składni i logiki przed przesłaniem ich jako zadań.

  • Upewnij się, że nazwy zadań są unikatowe we wszystkich zadaniach w dzierżawie, w tym zadania Notebooks.

  • Sprawdź, czy schemat danych wyjściowych zapytania jest zgodny z tabelą docelową w nazwach kolumn i typami danych.

  • Sprawdź stan zadania i śledź postęp.

  • Zapoznaj się z poniższymi tabelami błędów, aby zapoznać się z konkretnymi komunikatami o błędach i krokami rozwiązywania problemów.

Uwaga / Notatka

Awansowanie danych do warstwy analitycznej może potrwać od 15 do 30 minut i pojawić się w sekcji Advanced Hunting, w zależności od rozmiaru danych i złożoności zapytań. Częściowe wyniki mogą być promowane, jeśli zapytanie zadania przekracza limit jednej godziny.

Komunikaty o błędach zapytań języka KQL

Komunikat o błędzie Główna przyczyna Sugerowane akcje
Nie można odnaleźć tabeli lub jest ona pusta. Tabela, do których odwołuje się odwołanie, nie istnieje, jest pusta lub użytkownik nie ma wymaganych uprawnień. Sprawdź nazwę tabeli, potwierdź dostępność danych i upewnij się, że użytkownik ma odpowiedni dostęp. Aby uzyskać więcej informacji, zobacz Role i uprawnienia dla Microsoft Sentinel Data Lake.
Nie można uzyskać dostępu do usuniętego obiektu. Wystąpił wewnętrzny błąd w usłudze zaplecza. Ponów próbę. Otwórz bilet pomocy technicznej, jeśli problem będzie się powtarzać.
Limit czasu zapytań w bramie. Długotrwałe zapytania bez filtrów czasowych. Wymuszanie filtrów czasu lub stosowanie dodatkowych filtrów.
Brak ustawionego zakresu czasu. Dodaj parametr czasu, aby kontrolować koszt zapytania i unikać przekroczenia czasu. Zapytania z nieograniczonym zakresem danych mogą powodować czas oczekiwania. Wymuszanie filtrów czasu lub stosowanie dodatkowych filtrów.
Nieobsługiwana funkcja. Zmodyfikuj zapytanie, aby usunąć funkcje, które nie są obsługiwane w usłudze Data Lake: ingestion_time(). Zapytania w Data Lake nie obsługują funkcji ingestion_time(). Usuń ingestion_time() z zapytania i spróbuj ponownie.
Wykonywanie zapytania trwało dłużej niż limit czasu przypisanego i zostało przerwane. • Kwerenda może być nadmiernie złożona lub pobierać duży zestaw danych, powodując przekroczenie dozwolonego czasu wykonywania.
• Nieefektywna struktura zapytań, taka jak niepotrzebne sprzężenia lub nadmierne filtrowanie, może przyczynić się do niskiej wydajności.
Zoptymalizuj zapytanie i spróbuj ponownie.
401-Brak autoryzacji: to zazwyczaj trwały błąd, a ponowne próby są mało prawdopodobne, by pomóc. Szczegóły błędu: DataSource={clusterUri}, DatabaseName={databaseName}. • Token uwierzytelniania używany do uzyskiwania dostępu do usługi Data Lake może być nieprawidłowy lub wygasł.
• Nie masz niezbędnych uprawnień do wykonywania zapytań dotyczących określonej bazy danych.
Ponowne uwierzytelnianie i weryfikowanie uprawnień dostępu.
Zapytanie odwołało się do zewnętrznego adresu URL. Wywoływanie zewnętrznego adresu URL nie jest obsługiwane w przypadku zapytań w usłudze Lake. Zapytania KQL wykonywane w środowisku data lake nie obsługują wywoływania zewnętrznych punktów końcowych. Usuń zewnętrzne wywołanie adresu URL z zapytania.
Wykonanie zapytania przekroczyło dozwolone limity. Zapytania interakcyjne języka KQL w usłudze Data Lake są ograniczone do 500 000 wierszy. Uruchom zapytanie w zadaniu KQL lub użyj notesów.
Nie można odnaleźć tabel lub mogą nie mieć danych. Sprawdź, czy tabele istnieją, mają dane lub użytkownik ma uprawnienia. • Określone tabele mogą nie istnieć w bazie danych.
• Być może nie masz uprawnień dostępu do tabel.
• Tabele mogą istnieć, ale nie zawierają danych, co skutkuje brakiem znaczących wyników.
Potwierdź istnienie tabeli, dostępność danych i uprawnienia użytkownika.
Tekst zapytania przekroczył maksymalną dozwoloną długość po rozszerzeniu wewnętrznym. Taka sytuacja może wystąpić, gdy in() operator jest używany ze zmienną zawierającą dużą listę elementów. • Operator in() może być używany z dużą listą, co powoduje przekroczenie limitów zapytań rozszerzonych.
• Kwerenda może zawierać dynamicznie generowaną zawartość, która skutkuje nadmierną długością.
Zmniejsz rozmiar listy lub uprość zapytanie.
Wykonanie zapytania przekroczyło dozwolone limity. Zoptymalizuj zapytanie i spróbuj ponownie.
Błędy semantyczne i składniowe, na przykład:
  • Błąd semantyczny: operator "project": Nie można rozpoznać wyrażenia skalarnego o nazwie "Sygnatura czasowa"
  • Błąd semantyczny: operator where: Nie można rozpoznać wyrażenia skalarnego o nazwie "Type"
  • Błąd składniowy: Operator nie może być pierwszym operatorem w zapytaniu.
  • Błąd składniowy: Brakujące wyrażenie
  • Nie można wykonać zapytania KQL z błędami walidacji: niekompletny fragment jest nieoczekiwany.
Zapytanie jest źle sformułowane i odwołuje się do tabel lub kolumn, które nie istnieją lub używa nieprawidłowych funkcji skalarnych. Sprawdź zapytanie i spróbuj ponownie.
Klient nie ma dostępu do żadnych obszarów roboczych ani podał nieprawidłowe obszary robocze w zakresie. Zapytanie używa nieprawidłowego identyfikatora obszaru roboczego. Wprowadź prawidłowy identyfikator obszaru roboczego i spróbuj ponownie.
Nieoczekiwane polecenie sterowania Używanie poleceń sterujących (na przykład show) nie jest dozwolone. Nie jest wymagana żadna akcja.

Komunikaty o błędach zadania KQL

Komunikat o błędzie Główna przyczyna Sugerowane akcje
Określona tabela docelowa nie istnieje w docelowym obszarze roboczym. Nazwa tabeli jest niepoprawna, została usunięta lub nie została jeszcze utworzona. Przed przesłaniem zadania sprawdź nazwę tabeli i upewnij się, że istnieje w docelowym obszarze roboczym.
Określona tabela źródłowa nie istnieje. Co najmniej jedna tabela źródłowa nie istnieje w określonych obszarach roboczych lub została ostatnio usunięta z obszaru roboczego. Sprawdź, czy tabele źródłowe istnieją w określonym obszarze roboczym.
Nazwa obszaru roboczego lub bazy danych podana w zapytaniu jest nieprawidłowa lub niedostępna. Przywołana baza danych nie istnieje lub zadanie nie ma uprawnień dostępu. Upewnij się, że nazwa bazy danych jest poprawna i dostępna z kontekstu zadania.
Określony docelowy obszar roboczy nie istnieje w subskrypcjach platformy Azure. Identyfikator lub nazwa obszaru roboczego jest nieprawidłowa lub nie istnieje w jakiejkolwiek subskrypcji Azure w Twojej dzierżawie. Zweryfikuj identyfikator obszaru roboczego.
Schemat danych wyjściowych zapytania nie jest zgodny ze schematem tabeli docelowej. Liczba lub nazwy kolumn w danych wyjściowych zapytania różnią się od schematu tabeli docelowej. Zaktualizuj schemat zapytania lub tabeli, aby upewnić się, że są one wyrównane.
Typy danych co najmniej jednej kolumny w danych wyjściowych zapytania nie są zgodne ze schematem tabeli docelowej. Niezgodność typów między danymi wyjściowymi zapytania i schematem tabeli, na przykład ciągiem a datą/godziną. Upewnij się, że każda kolumna w danych wyjściowych zapytania jest zgodna z oczekiwanym typem danych w schemacie tabeli.
Wykonanie zapytania KQL nie powiodło się z powodu błędów składni lub logiki. Zapytanie zawiera nieprawidłową składnię, nieobsługiwane funkcje, nieobsługiwane typy danych lub nieprawidłowe odwołania. Przetestuj zapytanie w zapytaniach KQL lub usłudze Azure Data Explorer przed użyciem zapytania w zadaniu KQL.
Nazwa zadania KQL musi być unikatowa. Nazwa zadania już istnieje w tenantcie. Podaj unikatową nazwę zadania.
Nieprawidłowa nazwa kolumny. Powinna zaczynać się od litery i zawierać tylko litery, cyfry i podkreślenia (_), _ResourceId. Zadanie zawiera kolumny wyjściowe zawierające nieobsługiwany format. Zaktualizuj zapytanie i zmień nazwę kolumn.