Ограничения и известные проблемы с Azure Synapse Link для SQL

В этой статье перечислены ограничения и известные проблемы с Azure Synapse Link для SQL.

Ограничения

В следующих разделах перечислены ограничения для Azure Synapse Link для SQL.

База данных SQL Azure и SQL Server 2022

  • Исходные таблицы должны иметь первичные ключи.
  • В качестве источника данных для Azure Synapse Link для SQL поддерживается только основной реплика.
  • Следующие типы данных не поддерживаются для первичных ключей в исходных таблицах:
    • real
    • с плавающей запятой
    • hierarchyid
    • sql_variant
    • TIMESTAMP
  • Размер строки исходной таблицы не может превышать 7500 байт. Для таблиц, в которых столбцы длины переменной хранятся вне строки, в основной записи хранится 24-байтовый указатель.
  • При первоначальном моментальном снимке исходных таблиц любые данные исходной таблицы, содержащие данные больших объектов (LOB), превышающие 1 МБ размера, не поддерживаются. Эти типы данных бизнес-аналитики включают в себя varchar(max), nvarchar(max), varbinary(max). Возникает ошибка, и данные не экспортируются в Azure Synapse Analytics.
  • Таблицы, включенные для Azure Synapse Link для SQL, могут содержать не более 1020 столбцов (не 1024).
  • Хотя в базе данных можно включить несколько каналов, определенная таблица не может принадлежать нескольким каналам.
  • Если у владельца базы данных нет сопоставленного имени входа, Azure Synapse Link для SQL возникает ошибка при включении подключения к ссылке. С помощью команды ALTER AUTHORIZATION пользователь может назначить владельцем базы данных допустимого пользователя, чтобы устранить эту проблему.
  • Если исходная таблица содержит вычисляемые столбцы или столбцы с типами данных, которые не поддерживаются выделенными пулами SQL Azure Synapse Analytics, эти столбцы не будут реплицироваться в Azure Synapse Analytics. Неподдерживаемые столбцы включают:
    • Изображение
    • text
    • xml
    • TIMESTAMP
    • sql_variant
    • (UDT)
    • geometry
    • география
  • В одно подключение по каналу можно добавить не более 5000 таблиц.
  • Следующие операции DDL таблицы не допускаются в исходных таблицах, если они включены для Azure Synapse Link для SQL. Все остальные операции DDL разрешены, но они не будут реплицироваться в Azure Synapse Analytics.
    • Переключение секции
    • Добавление, удаление или изменение столбца
    • Изменение первичного ключа
    • Удаление или усечение таблицы
    • Переименование таблицы
  • Если в явной транзакции выполняются DDL и DML (между инструкциями BEGIN TRANSACTION и END TRANSACTION), при подключении по каналу репликация для соответствующих таблиц завершится сбоем.

    Примечание.

    Если таблица критически важна для согласованности транзакций на уровне подключения по каналу, просмотрите состояние таблицы Azure Synapse Link на вкладке "Мониторинг".

  • Azure Synapse Link для SQL нельзя включить, если для исходной таблицы используются какие-либо из следующих функций:
    • Система отслеживания измененных данных
    • темпоральная таблица журнала;
    • Постоянное шифрование
    • Выполняющаяся в памяти OLTP
    • индекс хранилища столбцов;
    • График
  • Системные таблицы нельзя реплицировать.
  • Конфигурация безопасности из базы данных-источника НЕ будет отражена в целевом выделенном пуле SQL.
  • Включение Azure Synapse Link для SQL создает новую схему с именем changefeed. Не применяйте эту схему, так как она зарезервирована для использования системой.
  • Исходные таблицы с параметрами сортировки, неподдерживаемыми выделенными пулами SQL, такими как UTF8 и некоторые японские параметры сортировки, нельзя реплика. Ниже приведены поддерживаемые параметры сортировки в пуле 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 схема и пользователь не исключаются в новой базе данных. Однако таблицы для канала изменений игнорируются DaxFX, так как они помечены как 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.

Следующие шаги