# Ограничения и замечания

Следует иметь в виду следующие ограничения и замечания при использовании Microsoft SQL Server (на основе журналов) в качестве источника:

## Ограничения и замечания, связанные со всеми задачами данных

* Определения Microsoft SQL Server Replication Publisher для базы данных, которая использовалась в задаче, не удаляются в случае удаления задачи. Системный администратор Microsoft SQL Server должен удалить эти определения из Microsoft SQL Server.

* Репликация (Landing) разреженных таблиц поддерживается только в режиме репликации «Полная загрузка» (landing).

* Репликация (Landing) данных из индексированных представлений не поддерживается.

* События TRUNCATE не захватываются.

* Репликация Landing вычисляемых столбцов поддерживается только в задачах репликации landing, выполняемых при полной загрузке. В процессе CDC вычисляемые столбцы после операций INSERT будут иметь значение NULL в целевой таблице, а операции UPDATE будут проигнорированы.

* Переключение разделов Microsoft SQL Server не поддерживается.

* При использовании служебных программ WRITETEXT и UPDATETEXT не захватываются события, применяемые к исходной базе данных.

* Следующий шаблон DML не поддерживается:

  `select <*> into <new_table> from <existing_table>`

* Шифрование на уровне столбца не поддерживается.

* Следующие ограничения применяются при обращении к архивным журналам транзакций:

  * Зашифрованные резервные копии не поддерживаются.
  * Резервные копии, сохраненные по URL-адресу или в Windows Azure, не поддерживаются.

* Резервное копирование Microsoft SQL Server на несколько дисков (то есть MIRROR TO DISK) не поддерживается.

* При вставке значения в типы пространственных данных SQL Server (GEOGRAPHY и GEOMETRY), пользователь может игнорировать свойство SRID (Spatial Reference System Identifier, идентификатор системы пространственной привязки) — в таком случае будет использоваться SRID по умолчанию (0 для GEOMETRY и 4326 для GEOGRAPHY), либо задать другое число. В процессе репликации (landing) таблиц с пространственными данными идентификатор SRID, вставленный пользователем, заменяется на SRID по умолчанию.

* Индексы Columnstore не поддерживаются.

* Таблицы с оптимизированным потреблением памяти (с использованием In-Memory OLTP) не поддерживаются.

* Временные таблицы не поддерживаются.

* Отложенная устойчивость не поддерживается.

* Отслеживание изменений таблиц не поддерживается.

* Маскированные данные будут созданы в целевой таблице без маскирования.

* OpenLDAP не поддерживается.

* Репликация (Landing) напрямую из второстепенной базы данных Microsoft SQL Server не поддерживается. Следовательно, необходимо настроить конечную точку Microsoft SQL Server (connector), чтобы установить подключение к основной базе данных или к прослушивателю AlwaysOn.

* Репликация Landing из баз данных, настроенных на использование ADR (Accelerated Database Recovery = ускоренное восстановление базы данных), не поддерживается.

* Репликация Landing таблицы или схемы с апострофом (') в имени не поддерживается.

* Изменения, внесенные в базу данных с помощью DACPAC, не будут регистрироваться.

* Захват данных изменений (CDC) не поддерживается из таблиц, которые содержат как сжатые, так и несжатые разделы.

* Системные таблицы и виды не поддерживаются.

## Ограничения и замечания, связанные с задачами репликации и промежуточного хранения

* Переименование таблиц с использованием `sp_rename` не поддерживается (например, `sp_rename 'Sales.SalesRegion', 'SalesReg;`)

* Переименование столбцов с использованием `sp_rename` не поддерживается (например, `sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';`)

* Следующие ограничения применяются при обращении к архивным журналам транзакций *на уровне файла*:

  * Архивные журналы транзакций должны храниться в общей папки с соответствующими разрешениями и правами доступа.
  * Доступ к активным журналам транзакций осуществляется через Microsoft SQL Server API (а не на уровне файла).
  * Машины Qlik Talend Data Integration и Microsoft SQL Server должны находится в одном домене.
  * Прозрачное шифрование данных (Transparent Data Encryption, TDE) не поддерживаются. Обратите внимание, что при обращении к архивным журналам транзакций с использованием встроенной функции SQL Server (а не с использованием доступа на уровне файлов), шифрование TDE поддерживается.
  * Платформы Unix не поддерживаются.
  * Чтение архивных журналов из нескольких полос не поддерживается.

* Репликация типов данных GEOGRAPHY и GEOMETRY поддерживается только в ограниченном режиме LOB.

* Даже если база данных не настроена для MS-REPLICATION или MS-CDC, можно захватывать таблицы, не использующие первичный ключ, но следует помнить, что при такой конфигурации захватываются только события INSERT/DELETE DML. События UPDATE игнорируются.

* Захват операторов DDL и DML в рамках одной транзакции не поддерживается.

* При выполнении операций UPDATE для первичного ключа или уникального индекса, которые затрагивают несколько строк, могут возникнуть конфликты во время применения изменений к целевому объекту. Это может случиться, например, если операции UPDATE выполняются для целевого объекта как операции INSERT/DELETE, а не как только одна операция UPDATE. В таком случае (когда операции UPDATE для первичного ключа или уникального индекса затрагивают несколько строк) режим «Применение оптимизированного пакета — Обработка изменений» не поддерживается, так как его использование может привести к игнорированию таблицы. А использование режима Применение транзакций — Обработка изменений может привести к нарушению ограничений.

  Если это случится, необходимо будет перезагрузить соответствующую таблицу или найти проблемные записи в контрольной таблице [Применять исключения](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/apply_exceptions.htm#ar_control_tables_553656663_1108409) и отредактировать их вручную в целевой базе данных. См. также [Change processing tuning](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings-cptuning.htm).

## Неподдерживаемые функции безопасности Microsoft SQL Server

Не поддерживаются таблицы, в которых используются следующие функции безопасности Microsoft SQL Server:

* Всегда зашифровано
* Безопасность на уровне строк

## Неподдерживаемые типы данных

Следующие типы данных не поддерживаются:

* CURSOR;
* SQL\_VARIANT;
* TABLE.

Примечание к информации

Пользовательские типы данных поддерживаются в соответствии с их базовым типом. Например, пользовательский тип данных, основанный на базовом типе DATETIME, обрабатывается как тип данных DATETIME.