Поделиться через


Ограничения и известные проблемы с 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 операторами), репликация для соответствующих таблиц завершается ошибкой в соединении связи.

    Примечание.

    Если таблица критически важна для согласованности транзакций на уровне подключения по каналу, просмотрите состояние таблицы 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
      • Thai100CaseSensitiveAccentSensitiveKanaSensitive
      • Thai100CaseSensitiveAccentSensitiveSupplementaryCharacters
      • ThaiCaseSensitiveAccentInsensitiveWidthSensitive
  • Обновления одной строки (включая хранилище вне страницы) > в 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 не работает.
  • Репликация данных между клиентами не поддерживается, если База данных 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.