Udostępnij za pośrednictwem


Ograniczenia i znane problemy z usługą Azure Synapse Link dla bazy danych SQL

W tym artykule wymieniono ograniczenia i znane problemy z usługą Azure Synapse Link dla języka SQL.

Ograniczenia

W poniższych sekcjach wymieniono ograniczenia dotyczące usługi Azure Synapse Link dla usługi SQL.

Usługi Azure SQL Database i SQL Server 2022

  • Tabele źródłowe muszą mieć klucze podstawowe.
  • Tylko zapisywalna replika podstawowa jest obsługiwana jako źródło danych dla usługi Azure Synapse Link dla języka SQL.
  • Następujące typy danych nie są obsługiwane w przypadku kluczy podstawowych w tabelach źródłowych.
    • Prawdziwe
    • float
    • Hierarchyid
    • Sql_variant
    • Sygnatury czasowej
  • Rozmiar wiersza tabeli źródłowej nie może przekraczać 7500 bajtów. W przypadku tabel, w których kolumny o zmiennej długości są przechowywane poza wierszem, wskaźnik 24-bajtowy jest przechowywany w rekordzie głównym.
  • Gdy tabele źródłowe są początkowo migawkowane, wszystkie dane tabeli źródłowej zawierające duże dane obiektu (LOB) większe niż 1 MB rozmiaru nie są obsługiwane. Te typy danych LOB obejmują: varchar(max), nvarchar(max), varbinary(max). Zgłaszany jest błąd, a dane nie są eksportowane do usługi Azure Synapse Analytics. Użyj procedury składowanej sp_configure , aby zwiększyć skonfigurowaną maksymalną wartość max text repl size dla opcji, która domyślnie wynosi 64 K. Skonfigurowana wartość parametru wskazuje brak limitu -1 innego niż limit narzucony przez typ danych.
  • Tabele włączone dla usługi Azure Synapse Link dla usługi SQL mogą zawierać maksymalnie 1020 kolumn (nie 1024).
  • Chociaż baza danych może mieć włączone wiele łączy, dana tabela nie może należeć do wielu łączy.
  • Jeśli właściciel bazy danych nie ma zamapowanego identyfikatora logowania, usługa Azure Synapse Link dla programu SQL jest uruchamiana z powodu błędu podczas włączania połączenia łącza. Użytkownik może ustawić właściciela bazy danych na prawidłowego użytkownika za ALTER AUTHORIZATION pomocą polecenia , aby rozwiązać ten problem.
  • Jeśli tabela źródłowa zawiera obliczone kolumny lub kolumny z typami danych, które dedykowane pule SQL nie obsługują, kolumny nie są replikowane. Nieobsługiwane kolumny zawierają następujące elementy.
    • obraz
    • text
    • xml
    • Sygnatury czasowej
    • Sql_variant
    • UDT
    • Geometrii
    • Geografia
  • Do jednego połączenia łącza można dodać maksymalnie 5000 tabel.
  • Następujące operacje języka definicji danych tabeli (DDL) nie są dozwolone w tabelach źródłowych, gdy są one włączone dla usługi Azure Synapse Link dla języka SQL. Wszystkie inne operacje DDL są dozwolone, ale nie są replikowane do usługi Azure Synapse Analytics.
    • Przełącz partycję
    • Dodawanie/upuszczanie/zmienianie kolumny
    • Zmienianie klucza podstawowego
    • Upuszczanie/obcięcie tabeli
    • Zmienianie nazwy tabeli
  • Jeśli język definicji danych (DDL) i język manipulowania danymi (DML) jest wykonywany w jawnej transakcji (między instrukcjami BEGIN TRANSACTION i END TRANSACTION ), replikacja dla odpowiednich tabel kończy się niepowodzeniem w ramach połączenia łącza.

    Uwaga

    Jeśli tabela ma krytyczne znaczenie dla spójności transakcyjnej na poziomie połączenia łącza, zapoznaj się ze stanem tabeli usługi Azure Synapse Link na karcie Monitorowanie.

  • Nie można włączyć usługi Azure Synapse Link dla usługi SQL, jeśli którakolwiek z poniższych funkcji jest używana dla tabeli źródłowej.
    • Przechwytywanie zmian danych
    • Tabela historii czasowej
    • Zawsze szyfrowane
    • Tabele w pamięci
    • Indeks magazynu kolumn
    • Wykres
  • Nie można replikować tabel systemowych.
  • Konfiguracja zabezpieczeń źródłowej bazy danych NIE zostanie odzwierciedlona w docelowej dedykowanej puli SQL.
  • Włączenie usługi Azure Synapse Link dla usługi SQL powoduje utworzenie nowego schematu o nazwie changefeed. Nie używaj tego schematu, ponieważ jest on zarezerwowany do użycia przez system.
  • Tabele źródłowe z sortowaniami, które nie są obsługiwane przez dedykowane pule SQL, takie jak UTF-8 i niektóre sortowania japońskie, nie można replikować. Oto obsługiwane sortowania w puli SQL usługi Synapse.
    • Ponadto usługa Azure Synapse Link dla języka SQL nie obsługuje niektórych sortowania języka tajskiego:
      • Thai100CaseInsensitiveAccentInsensitiveKanaSensitive
      • Thai100CaseInsensitiveAccentSensitiveSupplementaryCharacters
      • Thai100CaseSensitiveAccentInsensitiveKanaSensitive
      • Thai100CaseSensitiveAccentInsensitiveKanaSensitiveWidthSensitiveSupplementaryCharacters
      • Thai100CaseSensitiveAccentSensitiveKanaSensitive
      • Thai100CaseSensitiveAccentSensitiveSupplementaryCharacters
      • ThaiCaseSensitiveAccentInsensitiveWidthSensitive
    • Obecnie sortowanie Latin1_General_BIN2 nie jest obsługiwane, ponieważ występuje znany problem polegający na tym, że nie można zatrzymać łącza ani tabel bazowych można usunąć z replikacji.
  • Aktualizacje pojedynczego wiersza (w tym magazyn poza stronami) z > 370 MB nie są obsługiwane.
  • Gdy usługa Azure Synapse Link dla bazy danych SQL w usłudze Azure SQL Database lub sql Server 2022 jest włączona, agresywna funkcja obcinania dziennika przyspieszonego odzyskiwania bazy danych (ADR) jest automatycznie wyłączona. Dzieje się tak, ponieważ usługa Azure Synapse Link dla usługi SQL uzyskuje dostęp do dziennika transakcji bazy danych. To zachowanie jest podobne do zmiany przechwytywania danych (CDC). Aktywne transakcje nadal przechowują obcinanie dziennika transakcji do momentu zatwierdzenia transakcji i usługi Azure Synapse Link w przypadku zaległości bazy danych SQL lub przerwania transakcji. Może to spowodować wypełnienie dziennika transakcji więcej niż zwykle i powinno być monitorowane, aby dziennik transakcji nie wypełniał.

Tylko usługa Azure SQL Database

  • Usługa Azure Synapse Link dla bazy danych SQL nie jest obsługiwana w warstwie Bezpłatna, Podstawowa ani Standardowa z mniejszą niż 100 jednostkami DTU.
  • Usługa Azure Synapse Link dla usługi SQL nie jest obsługiwana w usłudze SQL Managed Instances.
  • Jednostka usługi nie jest obsługiwana do uwierzytelniania w źródłowej bazie danych Azure SQL DB, dlatego podczas tworzenia połączonej usługi Azure SQL DB wybierz pozycję Uwierzytelnianie SQL, tożsamość zarządzana przypisana przez użytkownika (UAMI) lub tożsamość zarządzana przypisana przez usługę (SAMI).
  • Jeśli serwer logiczny usługi Azure SQL Database ma skonfigurowaną usługę SAMI i UAMI, usługa Azure Synapse Link używa rozwiązania SAMI.
  • Nie można włączyć usługi Azure Synapse Link w pomocniczej bazie danych po przejściu w tryb failover usługi GeoDR, jeśli pomocnicza baza danych ma inną nazwę niż podstawowa baza danych.
  • Jeśli włączysz usługę Azure Synapse Link dla bazy danych SQL jako użytkownik firmy Microsoft Entra, przywracanie do punktu w czasie (PITR) zakończy się niepowodzeniem. Funkcja PITR działa tylko wtedy, gdy włączysz usługę Azure Synapse Link dla bazy danych SQL jako użytkownik SQL.
  • Jeśli utworzysz bazę danych jako użytkownik microsoft Entra i włączysz usługę Azure Synapse Link dla języka SQL, użytkownik uwierzytelniania SQL (na przykład nawet rola administratora systemu) nie będzie mógł wyłączyć/wprowadzić zmian w usłudze Azure Synapse Link dla artefaktów SQL. Jednak inny użytkownik firmy Microsoft Entra może włączyć/wyłączyć usługę Azure Synapse Link dla usługi SQL w tej samej bazie danych. Podobnie jeśli tworzysz bazę danych jako użytkownik uwierzytelniania SQL, włączenie/wyłączenie usługi Azure Synapse Link dla usługi SQL jako użytkownik firmy Microsoft Entra nie działa.
  • Replikacja danych między dzierżawami nie jest obsługiwana, gdy usługa Azure SQL Database i obszar roboczy usługi Azure Synapse znajdują się w oddzielnych dzierżawach.

Tylko program SQL Server 2022

  • Nie można włączyć usługi Azure Synapse Link dla usługi SQL w bazach danych, które są wydawcami replikacji transakcyjnej lub dystrybutorami.
  • W przypadku replik asynchronicznych w grupie dostępności transakcje muszą być zapisywane we wszystkich replikach przed opublikowaniem w usłudze Azure Synapse Link dla programu SQL.
  • Usługa Azure Synapse Link dla bazy danych SQL nie jest obsługiwana w bazach danych z włączonym dublowaniem bazy danych.
  • Przywracanie usługi Azure Synapse Link dla bazy danych z obsługą sql ze środowiska lokalnego do usługi Azure SQL Managed Instance nie jest obsługiwane.

Uwaga

Usługa Azure Synapse Link dla usługi SQL nie jest obsługiwana w bazach danych, które również korzystają z usługi Azure SQL Managed Instance Link. Należy pamiętać, że w tych scenariuszach, gdy wystąpienie zarządzane przechodzi do trybu odczytu i zapisu, mogą wystąpić pełne problemy z dziennikami transakcji.

Znane problemy

  • Dotyczy — Usługa Azure Synapse Link dla usług Azure SQL Database i SQL Server 2022

  • Problem — usunięcie obszaru roboczego usługi Azure Synapse Analytics może nie zostać zatrzymane, co powoduje, że źródłowa baza danych nadal działa i może prowadzić do tego, że dziennik transakcji nie zostanie obcięty i wypełnienie.

  • Rozwiązanie — istnieją dwie możliwe rozwiązania tej sytuacji:

    1. Zatrzymaj wszystkie uruchomione linki przed usunięciem obszaru roboczego usługi Azure Synapse Analytics.
    2. Ręcznie wyczyść definicję łącza w źródłowej bazie danych.
      1. Znajdź element table_group_id , który należy zatrzymać, korzystając z następującego zapytania.
        SELECT table_group_id, workspace_id, synapse_workgroup_name
        FROM [changefeed].[change_feed_table_groups]
        WHERE synapse_workgroup_name = <synapse workspace name>;
        
      2. Upuść każdy link zidentyfikowany przy użyciu poniższej procedury.
        EXEC sys.sp_change_feed_drop_table_group @table_group_id = <table_group_id>;
        
      3. Opcjonalnie, jeśli wyłączasz wszystkie grupy tabel dla danej bazy danych, możesz również wyłączyć zestawienie zmian w bazie danych za pomocą następującego polecenia.
        EXEC sys.sp_change_feed_disable_db;
        

Ponowne włączanie zestawienia zmian w tabeli, dla której ostatnio wyłączono, spowoduje wyświetlenie błędu

  • Dotyczy — Usługa Azure Synapse Link dla usług Azure SQL Database i SQL Server 2022
  • Jest to nietypowe zachowanie.
  • Problem — podczas próby włączenia tabeli, która została ostatnio wyłączona z metadanymi, które nie zostały jeszcze wyczyszczone i stan oznaczony jako WYŁĄCZONE, zostanie zgłoszony błąd z informacją A table can only be enabled once among all table groups.
  • Rozwiązanie — poczekaj na zakończenie procedury systemu wyłączonej tabeli, a następnie spróbuj ponownie włączyć tabelę.
  • Dotyczy — Usługa Azure Synapse Link dla usług Azure SQL Database i SQL Server 2022
  • Problem — w przypadku baz danych SQL z włączoną usługą Azure Synapse Link podczas korzystania z operacji importowania/eksportowania/eksportowania/wdrażania programu SSDT w celu importowania/konfigurowania nowej bazy danych changefeed schemat i użytkownik nie są wykluczane w nowej bazie danych. Jednak tabele zestawienia zmian są ignorowane przez DacFX, ponieważ są one oznaczone jako is_ms_shipped=1 w sys.objects, a te obiekty nigdy nie są uwzględniane w operacjach importowania/eksportowania i wyodrębniania/wdrażania SSDT. Po włączeniu usługi Azure Synapse Link w zaimportowanej/wdrożonej bazie danych procedura sys.sp_change_feed_enable_db składowana systemu kończy się niepowodzeniem, jeśli changefeed użytkownik i schemat już istnieją. Ten problem występuje, jeśli utworzono użytkownika lub schemat o nazwie changefeed , który nie jest powiązany z możliwościami zestawienia zmian usługi Azure Synapse Link.
  • Rozdzielczość-
    • Ręcznie upuść pusty changefeed schemat i changefeed użytkownika. Następnie można pomyślnie włączyć usługę Azure Synapse Link w zaimportowanej/wdrożonej bazie danych.
    • Jeśli zdefiniowano niestandardowy schemat lub użytkownika o nazwie changefeed w bazie danych, który nie jest powiązany z usługą Azure Synapse Link i nie zamierzasz używać usługi Azure Synapse Link dla języka SQL, nie jest konieczne usunięcie changefeed schematu ani użytkownika.
    • Jeśli zdefiniowano schemat klienta lub użytkownika o nazwie changefeed w bazie danych, obecnie ta baza danych nie może uczestniczyć w usłudze Azure Synapse Link for SQL.