Ограничения и известные проблемы с 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.
  • Обновления одной строки (включая хранилище вне страницы) > 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 Link для База данных SQL Azure и SQL Server 2022

  • Проблема. При удалении рабочей области Azure Synapse Analytics возможно, что выполнение ссылок не может быть остановлено, что приводит к тому, что ссылка по-прежнему работает и может привести к усечению журнала транзакций и заполнению.

  • Решение. В этой ситуации есть два возможных решения:

    1. Остановите все запущенные ссылки перед удалением рабочей области Azure Synapse Analytics.
    2. Вручную очистите определение канала в базе данных-источнике.
      1. Найдите нужное 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>;
        
      2. Удалите каждую ссылку, определяемую с помощью следующей процедуры.
        EXEC sys.sp_change_feed_drop_table_group @table_group_id = <table_group_id>;
        
      3. При необходимости, если вы отключаете все группы таблиц для данной базы данных, вы также можете отключить канал изменений в базе данных с помощью следующей команды.
        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 для База данных 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.