Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
- prawdziwy
- unoszenie się
- hierarchyid
- sql_variant
- Znacznik czasu
- 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ść dla opcji
max text repl size
, która domyślnie wynosi 64 K. Wartość-1
oznacza brak ograniczenia z wyjątkiem limitu narzuconego 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 SQL napotyka błąd przy próbie włączenia połączenia. Użytkownik może za pomocą polecenia
ALTER AUTHORIZATION
ustawić właściciela bazy danych na prawidłowego użytkownika, 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
- tekst
- XML
- Znacznik czasu
- sql_variant
- UDT
- geometria
- 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.
- Zmień 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
iEND 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, przejrzyj stan 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ć. Zobacz obsługiwane sortowania w pulach 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
- Ponadto usługa Azure Synapse Link dla języka SQL nie obsługuje niektórych sortowania języka tajskiego:
- Aktualizacje pojedynczego wiersza (w tym magazyn poza stronami) o pojemności > 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. Jest to konieczne, ponieważ usługa Azure Synapse Link dla usługi SQL uzyskuje dostęp do dziennika transakcji bazy danych. To zachowanie jest podobne do przechwytywania zmienionych danych (CDC). Aktywne transakcje nadal trzymają obcinanie dziennika transakcji do momentu zatwierdzenia transakcji i dogonienia usługi Azure Synapse Link dla SQL, lub anulowania transakcji. Może to spowodować wypełnienie dziennika transakcji bardziej niż zwykle i należy to monitorować, aby nie doszło do całkowitego wypełnienia dziennika transakcji.
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.
- Główny użytkownik usługi nie jest obsługiwany do uwierzytelniania w źródłowej bazie danych Azure SQL, więc podczas tworzenia połączonej usługi Azure SQL DB wybierz uwierzytelnianie SQL, Tożsamość Zarządzaną Przypisaną przez Użytkownika (UAMI) lub Tożsamość Zarządzaną Przypisaną 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 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 korzystający z uwierzytelniania SQL, włączenie/wyłączenie usługi Azure Synapse Link dla SQL jako użytkownik Microsoft Entra nie działa.
- Replikacja danych między tenantami nie jest wspierana, gdy usługa Azure SQL Database i obszar roboczy usługi Azure Synapse znajdują się w oddzielnych tenantach.
Tylko program SQL Server 2022
- Nie można włączyć usługi Azure Synapse Link dla 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.
- Usługa Azure Synapse Link dla bazy danych SQL nie jest obsługiwana w wystąpieniach programu SQL Server 2025.
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 zachować ostrożność, że w tych scenariuszach, gdy wystąpienie zarządzane przechodzi do trybu odczytu i zapisu, mogą wystąpić problemy z pełnymi dziennikami transakcji.
Znane problemy
Nie usuwaj obszaru roboczego usługi Azure Synapse Analytics, jeśli działa link, ponieważ może to spowodować wypełnienie dziennika transakcji w źródłowej bazie danych.
Dotyczy — Usługa Azure Synapse Link dla usług Azure SQL Database i SQL Server 2022
Problem — podczas usuwania obszaru roboczego usługi Azure Synapse Analytics może się zdarzyć, że działające połączenia nie zostaną zatrzymane, co powoduje, że źródłowa baza danych uważa, że połączenia są wciąż aktywne, co może prowadzić do tego, że dziennik transakcji nie zostanie obcięty i zapełni się.
Rozwiązanie — istnieją dwie możliwe rozwiązania tej sytuacji:
- Zatrzymaj wszystkie uruchomione połączenia przed usunięciem obszaru roboczego Azure Synapse Analytics.
- Ręcznie wyczyść definicję łącza w źródłowej bazie danych.
- 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>;
- 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>;
- 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;
- Znajdź element
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.
- Podczas próby włączenia tabeli, która została ostatnio wyłączona, a jej metadane nie zostały jeszcze wyczyszczone, a stan oznaczony jako WYŁĄCZONE, pojawi się błąd z informacją
A table can only be enabled once among all table groups
. - Rozwiązanie — poczekaj chwilę, aż zakończy się procedura systemowa wyłączania tabeli, a następnie spróbuj ponownie ją włączyć.
Próba włączenia usługi Azure Synapse Link w bazie danych zaimportowanej przy użyciu narzędzi SSDT, SQLPackage na potrzeby operacji importowania/eksportowania i wyodrębniania/wdrażania
- 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ą funkcją Azure Synapse Link, podczas korzystania z operacji importowania/eksportowania/wdrażania programu SSDT w celu importowania/konfigurowania nowej bazy danych, schemat
changefeed
i użytkownik nie są wykluczane w nowej bazie danych. Jednak tabele dla strumienia zmian są pomijane przez DacFX, gdyż są oznaczone jako wis_ms_shipped=1
, a te obiekty nigdy nie są uwzględniane w operacjach importowania/eksportowania oraz wyodrębniania/wdrażania w SSDT. Po aktywacji usługi Azure Synapse Link w zaimportowanej/wdrożonej bazie danych systemowa procedura składowanasys.sp_change_feed_enable_db
zawiedzie, jeśli użytkownik i schematchangefeed
już istnieją. Ten problem występuje, jeśli utworzono użytkownika lub schemat o nazwiechangefeed
, który nie jest powiązany z funkcją strumienia zmian usługi Azure Synapse Link. - Rezolucja-
- Ręcznie usuń pusty
changefeed
schemat ichangefeed
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ęciechangefeed
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.
- Ręcznie usuń pusty