Ограничения и известные проблемы с Azure Synapse Link для SQL
В этой статье перечислены ограничения и известные проблемы с Azure Synapse Link для SQL.
Ограничения
В следующих разделах перечислены ограничения для Azure Synapse Link для SQL.
База данных SQL Azure и SQL Server 2022
- Исходные таблицы должны иметь первичные ключи.
- В качестве источника данных для Azure Synapse Link для SQL поддерживается только основной реплика.
- Следующие типы данных не поддерживаются для первичных ключей в исходных таблицах.
- real
- float
- hierarchyid
- sql_variant
- timestamp
- Размер строки исходной таблицы не может превышать 7500 байт. Для таблиц, в которых столбцы длины переменной хранятся вне строки, в основной записи хранится 24-байтовый указатель.
- При первоначальном моментальном снимке исходных таблиц любые данные исходной таблицы, содержащие данные больших объектов (LOB), превышающие 1 МБ размера, не поддерживаются. Эти типы данных бизнес-аналитики включают: varchar(max), nvarchar(max), varbinary(max). Возникает ошибка, и данные не экспортируются в Azure Synapse Analytics. Используйте хранимую процедуру sp_configure , чтобы увеличить настроенное максимальное значение для
max text repl size
параметра, которое по умолчанию равно 64 K. Настроенное значение-1
не указывает ограничение, отличное от ограничения, введенного типом данных. - Таблицы, включенные для Azure Synapse Link для SQL, могут содержать не более 1020 столбцов (не 1024).
- Хотя в базе данных можно включить несколько каналов, определенная таблица не может принадлежать нескольким каналам.
- Если у владельца базы данных нет сопоставленного имени входа, Azure Synapse Link для SQL возникает ошибка при включении подключения к ссылке. С помощью команды
ALTER AUTHORIZATION
пользователь может назначить владельцем базы данных допустимого пользователя, чтобы устранить эту проблему. - Если исходная таблица содержит вычисляемые столбцы или столбцы с типами данных, которые не поддерживают выделенные пулы SQL, столбцы не реплика. Неподдерживаемые столбцы включают следующие.
- Изображение
- text
- xml
- timestamp
- sql_variant
- UDT
- geometry
- geography
- В одно подключение по каналу можно добавить не более 5000 таблиц.
- Следующие операции определения данных таблицы (DDL) не допускаются в исходных таблицах, если они включены для Azure Synapse Link для SQL. Все остальные операции DDL разрешены, но они не реплика в Azure Synapse Analytics.
- Переключение секции
- Добавление, удаление или изменение столбца
- Изменение первичного ключа
- Удаление или усечение таблицы
- Переименование таблицы
- Если язык определения данных (DDL) + язык обработки данных (DML) выполняется в явной транзакции (между
BEGIN TRANSACTION
иEND TRANSACTION
операторами), реплика tion для соответствующих таблиц завершается сбоем в соединении связи.Примечание.
Если таблица критически важна для согласованности транзакций на уровне подключения по каналу, просмотрите состояние таблицы Azure Synapse Link на вкладке "Мониторинг".
- Azure Synapse Link для SQL нельзя включить, если для исходной таблицы используются какие-либо из следующих функций.
- Система отслеживания измененных данных
- темпоральная таблица журнала;
- Постоянное шифрование
- Таблицы в памяти
- Индекс columnstore
- График
- Системные таблицы нельзя реплицировать.
- Конфигурация безопасности из базы данных-источника НЕ будет отражена в целевом выделенном пуле SQL.
- Включение Azure Synapse Link для SQL создает новую схему с именем
changefeed
. Не применяйте эту схему, так как она зарезервирована для использования системой. - Исходные таблицы с параметрами сортировки, неподдерживаемыми выделенными пулами SQL, такими как UTF-8 и некоторые японские параметры сортировки, нельзя реплика. Ниже приведены поддерживаемые параметры сортировки в пуле Synapse SQL.
- Кроме того, Azure Synapse Link для SQL не поддерживает некоторые параметры сортировки на тайском языке:
- Thai100CaseInsensitiveAccentInsensitiveKanaSensitive
- Thai100CaseInsensitiveAccentSensitiveSupplementaryCharacters
- Thai100CaseSensitiveAccentInsensitiveKanaSensitive
- Thai100CaseSensitiveAccentInsensitiveKanaSensitiveWidthSensitiveSupplementaryCharacters
- Thai100CaseSensitiveAccentSensitiveKanaSensitiveKanaSensitive
- Thai100CaseSensitiveAccentSensitiveSupplementaryCharacters
- ThaiCaseSensitiveAccentInsensitiveWidthSensitive
- В настоящее время параметры сортировки Latin1_General_BIN2 не поддерживаются, так как существует известная проблема, из-за которой ссылка не может быть остановлена, ни базовые таблицы не могут быть удалены из реплика tion.
- Кроме того, Azure Synapse Link для SQL не поддерживает некоторые параметры сортировки на тайском языке:
- Обновления одной строки (включая хранилище вне страницы) > 370 МБ не поддерживаются.
- Если Azure Synapse Link для SQL на База данных SQL Azure или SQL Server 2022 включена, функция агрессивного усечения журналов ускоренного восстановления базы данных (ADR) автоматически отключается. Это связано с тем, что Azure Synapse Link для SQL обращается к журналу транзакций базы данных. Это поведение аналогично измененной записи данных (CDC). Активные транзакции продолжают хранить усечение журнала транзакций до тех пор, пока транзакция не зафиксирует и Azure Synapse Link для SQL не перехватывается или прерваны транзакции. Это может привести к заполнению журнала транзакций больше, чем обычно, и следует отслеживать, чтобы журнал транзакций не заполнялся.
Только База данных SQL Azure
- Azure Synapse Link для SQL не поддерживается на уровне "Бесплатный", "Базовый" или "Стандартный" с менее чем 100 единиц DTU.
- Azure Synapse Link для SQL не поддерживается в управляемых экземплярах SQL.
- Субъект-служба не поддерживается для проверки подлинности в базе данных-источнике Azure SQL, поэтому при создании связанной службы Базы данных SQL Azure выберите проверку подлинности SQL, управляемое удостоверение, назначаемое пользователем (UAMI), или управляемое удостоверение, назначаемое службой (SAMI).
- Если База данных SQL Azure логический сервер настроен как SAMI, так и UAMI, Azure Synapse Link использует SAMI.
- Azure Synapse Link нельзя включить в базе данных-получателе после отработки отказа GeoDR, если база данных-получатель имеет другое имя от базы данных-источника.
- Если вы включите Azure Synapse Link для SQL в качестве пользователя Microsoft Entra, восстановление на определенный момент времени (PITR) завершается ошибкой. PITR работает только при включении Azure Synapse Link для SQL в базе данных в качестве пользователя SQL.
- Если вы создаете базу данных в качестве пользователя Microsoft Entra и включаете Azure Synapse Link для SQL, пользователь проверки подлинности SQL (например, даже роль sysadmin) не сможет отключить или внести изменения в Azure Synapse Link для артефактов SQL. Однако другой пользователь Microsoft Entra может включить или отключить Azure Synapse Link для SQL в той же базе данных. Аналогичным образом, если вы создаете базу данных в качестве пользователя проверки подлинности SQL, включение и отключение Azure Synapse Link для SQL в качестве пользователя Microsoft Entra не работает.
- Межтенантные данные реплика tion не поддерживаются, когда База данных SQL Azure и рабочая область Azure Synapse находятся в отдельных клиентах.
Только SQL Server 2022
- Azure Synapse Link для SQL нельзя включить в базах данных, которые являются издателями или распространителями репликации транзакций.
- При использовании асинхронных реплика в группе доступности транзакции необходимо записывать во все реплика перед публикацией в Azure Synapse Link для SQL.
- Azure Synapse Link для SQL не поддерживают базы данных с включенным зеркальным отображением.
- Восстановление Azure Synapse Link для базы данных с поддержкой SQL из локальной среды в Управляемый экземпляр SQL Azure не поддерживается.
Внимание
Azure Synapse Link для SQL не поддерживается в базах данных, которые также используют Управляемый экземпляр SQL Azure Link. Обратите внимание, что в этих сценариях при переходе управляемого экземпляра в режим чтения и записи могут возникнуть проблемы с журналом транзакций.
Известные проблемы
Не удалять рабочую область Azure Synapse Analytics с запущенной ссылкой может привести к заполнению журнала транзакций в исходной базе данных.
Область применения — Azure Synapse Link для База данных SQL Azure и SQL Server 2022
Проблема. При удалении рабочей области Azure Synapse Analytics возможно, что выполнение ссылок не может быть остановлено, что приводит к тому, что ссылка по-прежнему работает и может привести к усечению журнала транзакций и заполнению.
Решение. В этой ситуации есть два возможных решения:
- Остановите все запущенные ссылки перед удалением рабочей области Azure Synapse Analytics.
- Вручную очистите определение канала в базе данных-источнике.
- Найдите нужное
table_group_id
значение, которое необходимо остановить с помощью следующего запроса.SELECT table_group_id, workspace_id, synapse_workgroup_name FROM [changefeed].[change_feed_table_groups] WHERE synapse_workgroup_name = <synapse workspace name>;
- Удалите каждую ссылку, определяемую с помощью следующей процедуры.
EXEC sys.sp_change_feed_drop_table_group @table_group_id = <table_group_id>;
- При необходимости, если вы отключаете все группы таблиц для данной базы данных, вы также можете отключить канал изменений в базе данных с помощью следующей команды.
EXEC sys.sp_change_feed_disable_db;
- Найдите нужное
Повторное включение канала изменений в таблице, для которой она была недавно отключена, отобразит ошибку
- Область применения — Azure Synapse Link для База данных SQL Azure и SQL Server 2022
- Это редкое поведение.
- Проблема. При попытке включить таблицу, которая была недавно отключена с ее метаданными, еще не удалены и состояние помечено как DISABLED, возникает
A table can only be enabled once among all table groups
ошибка. - Разрешение. Дождитесь завершения отключенной системной процедуры таблицы и повторите попытку повторного включения таблицы.
Попытка включить Azure Synapse Link в базе данных, импортируемой с помощью SSDT, SQLPackage для импорт и экспорт и операций извлечения и развертывания
- Область применения — Azure Synapse Link для База данных SQL Azure и SQL Server 2022
- Проблема. Для баз данных SQL, включенных с помощью Azure Synapse Link, при использовании SSDT импорт и экспорт и извлечения и развертывания операций импорта и установки новой базы данных
changefeed
схема и пользователь не исключаются в новой базе данных. Однако таблицы для канала изменений игнорируются DacFX, так как они помечены какis_ms_shipped=1
вsys.objects
, и эти объекты никогда не включаются в операции SSDT импорт и экспорт и извлечения и развертывания. При включении Azure Synapse Link в импортированной или развернутой базе данных системная хранимая процедураsys.sp_change_feed_enable_db
завершается ошибкой, еслиchangefeed
пользователь и схема уже существуют. Эта проблема возникает, если вы создали пользователя или схему с именемchangefeed
, которая не связана с возможностью канала изменений Azure Synapse Link. - Разрешение-
- Вручную удалите пустую
changefeed
схему иchangefeed
пользователя. Затем Azure Synapse Link можно включить успешно в импортированной и развернутой базе данных. - Если вы определили пользовательскую схему или пользователя
changefeed
в базе данных, которая не связана с Azure Synapse Link, и вы не планируете использовать Azure Synapse Link для SQL, вам не нужно удалятьchangefeed
схему или пользователя. - Если вы определили схему клиента или пользователя
changefeed
в базе данных, в настоящее время эта база данных не может участвовать в Azure Synapse Link для SQL.
- Вручную удалите пустую