Microsoft SQL Server
В этом разделе объясняется настройка подключения к цели Microsoft SQL Server с использованием коннектора цели Microsoft SQL Server.
Цель Microsoft SQL Server также можно использовать как целевая платформа данных в конвейере данных или в задаче репликации. В конвейере данных можно выполнять различные операции ELT на целевой платформе, включая хранение, преобразование, регистрацию данных и создание киосков данных. С другой стороны, задача репликации подразумевает репликацию данных непосредственно из исходной системы в целевую с сохранением базовых функций преобразования, но без поддержки операций ELT.. Прежде чем подключаться к цели Microsoft SQL Server, необходимо настроить Предварительные условия для пользователя в базе данных. Если подключение к Microsoft SQL Server осуществляется через Data Movement Gateway, также требуется установить необходимый драйвер, как описано в Настройка драйвера.
Для получения дополнительной информации об ограничениях и замечаниях при использовании коннектора Цель Microsoft SQL Server см. раздел Ограничения и замечания.
Настройка свойств подключения
Чтобы настроить коннектор, выполните следующие действия:
-
В виде Подключения нажмите Создать подключение.
-
Выберите коннектор цели Microsoft SQL Server, а затем задайте следующие настройки.
Data Movement Gateway
Microsoft SQL Server можно использовать в качестве цели в конвейере данных или в задаче репликации. Тогда как Data Movement Gateway может иногда требоваться для доступа к цели Microsoft SQL Server в конвейере данных (в зависимости от того, доступна ли база данных непосредственно из Qlik Cloud), он всегда требуется при использовании цели Microsoft SQL Server в задаче регистрации.
Использование цели Microsoft SQL Server в конвейере данных
Шлюз данных
Data Movement Gateway требуется, только если целевая база данных недоступна из Qlik Cloud и доступна только по ссылке PrivateLink (например, если она расположена локально и защищена брандмауэром или в виртуальном частном облаке). В таком случае выберите Data Movement Gateway, через который требуется обращаться к целевой базе данных.
В зависимости от конкретной ситуации это будет либо тот же Data Movement Gateway, развернутый для перемещения данных, либо другой шлюз.
Для получения информации о сценариях применения Data Movement Gateway см. разделы Когда требуется Data Movement Gateway? и Общие случаи использования.
Если целевая база данных напрямую доступна из Qlik Cloud, выберите Нет.
Использование цели Microsoft SQL Server в задаче репликации
Шлюз данных: Выберите шлюз Data Movement Gateway, с использованием которого будет тестироваться подключение к цели Microsoft SQL Server. Это должен быть тот же шлюз, который использовался для доступа к источнику данных.
Требуется Data Movement Gateway 2023.5.10 или более поздней версии.
Цель данных
-
Облачный поставщик: выберите один из следующих вариантов по ситуации:
- Нет (локально)
- Amazon RDS
- Google Cloud
- Microsoft Azure (поддерживает управляемый экземпляр Microsoft Azure и базу данных Microsoft Azure)
-
Сервер: IP-адрес или имя сервера, на котором установлена база данных Microsoft SQL Server.
Примечание к информацииДобавьте порт к имени сервера, разделив их запятой, если нужно заменить порт по умолчанию новым значением. Например, если имя сервера —
myserver.company.local
и используется порт3333
, то имя сервера должно выглядеть так:myserver.company.local,3333
Свойства учетной записи (Account properties)
Имя пользователя и Пароль: имя и пароль пользователя для авторизованного доступа к базе данных Microsoft SQL Server.
Свойства базы данных
-
Имя базы данных: задать базу данных можно двумя способами:
- Способ 1: выбор из списка. Для использования этого метода необходимо создать пользователя в основной базе данных. Щелкните Загрузить базы данных, а затем выберите базу данных.
- Способ 2: вручную. Выберите Ввести имя базы данных вручную, а затем введите имя базы данных.
- Encrypt (Trust server certificate) (Шифровать (Доверять сертификату сервера)): выберите тип шифрования при обмене данными между Qlik Cloud и сервером базы данных. Когда флажок установлен, сертификат сервера автоматически рассматривается как доверенный.
- Host name in certificate (Имя хоста в сертификате): чтобы доверять сертификату сервера, только если имя хоста соответствует значению, заданному в этом поле, введите имя хоста сертификата сервера.
Внутренние свойства
Внутренние свойства предназначены для особых вариантов использования и поэтому не отображаются в диалоговом окне. Их можно использовать только по указанию службы поддержки Qlik.
Используйте кнопки и справа от полей, чтобы при необходимости добавить или удалить свойства.
Имя
Отображаемое имя подключения.
Условия
Предварительные условия для пользователя
- Пользователю, указанному в настройках коннектора, должна быть назначена роль не ниже
db_owner
в целевой базе данных Microsoft SQL Server. - Чтобы обеспечить возможность выбора базы данных (щелчком параметра Загрузить базы данных в диалоговом окне коннектора), пользователь, указанный в параметрах коннектора, должен быть создан в основной базе данных.
Настройка драйвера
Драйвер требуется только в случае обращения к базе данных через Data Movement Gateway. См. раздел Data Movement Gateway выше для получения дополнительной информации о сценариях применения, когда требуется Data Movement Gateway.
driver можно установить с помощью программы для установки драйверов (рекомендуется) или вручную. Ручную установку следует выполнять только в том маловероятном случае, если возникла проблема с программой для установки драйверов.
Использование программы для установки драйверов для установки драйвера
В этом разделе описывается процедура установки необходимого driverа. Она включает выполнение скрипта, который автоматически загружает, устанавливает и настраивает необходимый driver. Также можно выполнять скрипты для обновления и удаления driverа по необходимости.
Подготовка к установке
-
Убедитесь, что на сервере шлюза Перемещение данных установлена версия Python 3.6 или более поздняя.
Python предустанавливается в большинстве дистрибутивов Linux. Чтобы проверить, какая версия Python установлена в системе, выполните следующую команду:
python3 --version
Установка driver
Чтобы загрузить и установить driver, выполните следующие действия.
-
Остановите службу Data Movement Gateway:
sudo systemctl stop repagent
-
Если нужно, подтвердите, что служба остановлена:
sudo systemctl status repagent
Статус должен быть следующим:
Active: inactive (dead) since <timestamp> ago
-
На компьютере шлюза Перемещение данных измените рабочую папку на:
opt/qlik/gateway/movement/drivers/bin
-
Выполните следующую команду:
Синтаксис:
./install sqlserver
Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Перемещение данных. После этого выполните команду install sqlserver еще раз.
В противном случае откроется лицензионное соглашение с конечным пользователем driverа.
-
Выполните одно из следующих действий:
- Нажмите клавишу [Enter] несколько раз, чтобы медленно прокрутить лицензионное соглашение.
- Нажимайте клавишу «Пробел» несколько раз, чтобы быстро прокрутить лицензионное соглашение.
- Нажмите клавишу «q», чтобы закрыть текст лицензионного соглашения и перейти к шагу принятия/отклонения.
-
Затем выполните одно из следующих действий:
- Введите «y» и нажмите клавишу [Enter], чтобы принять лицензионное соглашение и запустить установку.
- Введите «n» и нажмите клавишу [Enter], чтобы отклонить лицензионное соглашение и отменить установку.
-
Введите «v» и нажмите клавишу [Enter], чтобы снова открыть лицензионное соглашение для просмотра.
-
Дождитесь завершения установки (появится сообщение «Завершено!»), а затем запустите службу Data Movement Gateway:
sudo systemctl start repagent
-
Если нужно, подтвердите, что сервис запущен:
sudo systemctl status repagent
Статус должен быть следующим:
Active: active (running) since <timestamp> ago
Будет установлен driver.
Обновление driverа
Выполните команду обновления, если требуется удалить предыдущие версии driverа перед установкой предоставленной версии driverа.
Чтобы загрузить и обновить driver, выполните следующие действия.
-
Остановите службу Data Movement Gateway:
sudo systemctl stop repagent
-
Если нужно, подтвердите, что служба остановлена:
sudo systemctl status repagent
Статус должен быть следующим:
Active: inactive (dead) since <timestamp> ago
-
На компьютере шлюза Перемещение данных измените рабочую папку на:
opt/qlik/gateway/movement/drivers/bin
-
Выполните следующую команду:
Синтаксис:
./update sqlserver
Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Перемещение данных. После этого выполните команду update sqlserver еще раз.
В противном случае откроется лицензионное соглашение с конечным пользователем driverа.
-
Выполните одно из следующих действий:
- Нажмите клавишу [Enter] несколько раз, чтобы медленно прокрутить лицензионное соглашение.
- Нажимайте клавишу «Пробел» несколько раз, чтобы быстро прокрутить лицензионное соглашение.
- Нажмите клавишу «q», чтобы закрыть текст лицензионного соглашения и перейти к шагу принятия/отклонения.
-
Затем выполните одно из следующих действий:
- Введите «y» и нажмите клавишу [Enter], чтобы принять лицензионное соглашение и запустить установку.
- Введите «n» и нажмите клавишу [Enter], чтобы отклонить лицензионное соглашение и отменить установку.
- Введите «v» и нажмите клавишу [Enter], чтобы снова просмотреть лицензионное соглашение от начала.
-
Дождитесь завершения установки (появится сообщение «Завершено!»), а затем запустите службу Data Movement Gateway:
sudo systemctl start repagent
-
Если нужно, подтвердите, что сервис запущен:
sudo systemctl status repagent
Статус должен быть следующим:
Active: active (running) since <timestamp> ago
Будет удален старый driver и установлен новый driver.
Удаление driverа
Выполните команду удаления, если требуется удалить driver.
Чтобы удалить driver, выполните следующие действия.
-
Остановите все задачи, использующие данный коннектор.
-
На компьютере шлюза Перемещение данных измените рабочую папку на:
opt/qlik/gateway/movement/drivers/bin
-
Выполните следующую команду:
Синтаксис:
./uninstall sqlserver
driver будет удален.
Установка драйверов вручную
Установку driver вручную следует пытаться выполнить только в том случае, если автоматическая установка драйвера не завершилась успешно.
Когда Microsoft SQL Server используется в качестве цели в конвейере данных, необходимо установить и драйвер ODBC, и драйвер JDBC. Когда Microsoft SQL Server используется в качестве цели в задаче репликации, необходимо установить только драйвер ODBC.
Установка драйвера ODBC
После установки Data Movement Gateway загрузите драйвер msodbcsql<версия>.x86_64.rpm. Прямую ссылку для загрузки поддерживаемой версии можно найти в разделе binary-artifacts в /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. После завершения загрузки скопируйте RPM на компьютер Data Movement Gateway.
На сервере Data Movement gateway откройте приглашение оболочки и выполните действия, указанные ниже.
-
Остановите службу Data Movement gateway:
sudo systemctl stop repagent
-
Если нужно, подтвердите, что служба остановлена:
sudo systemctl status repagent
-
Установите драйвер (RPM).
-
Замените рабочую папку на <product_dir>/bin.
-
Скопируйте местоположение драйвера в файл
site_arep_login.sh
следующим образом:echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/
msodbcsql<version>
/lib64/" >> site_arep_login.sh
После этого драйвер будет добавлен в "LD_LIBRARY_PATH", а в файле site_arep_login.sh обновится расположение драйвера.
-
При необходимости подтвердите, что расположение драйвера скопировано.
cat site_arep_login.sh
-
Запустите службу Data Movement gateway.
sudo systemctl start repagent
-
При необходимости подтвердите, что служба запущена.
sudo systemctl status repagent
Статус должен быть следующим:
Active: active (running) since <timestamp> ago
-
Для Data Movement gateway требуется следующая библиотека ODBC: msodbcsql-18.1.so.1.1
Чтобы проверить, какая версия библиотеки установлена в данный момент, выполните следующую команду:
ls /opt/microsoft/msodbcsql<version>/lib64/
Если у имеющейся библиотеки другой номер версии (например, libmsodbcsql-18.0.so.1.1), необходимо создать символическую ссылку между имеющейся и нужной библиотеками.
Для этого выполните следующие команды:
cd /opt/microsoft/msodbcsql<version>/lib64/
ln -s existing_library_name
msodbcsql-18.1.so.1.1где
existing_library_name
— это имя установленной в данный момент библиотеки (например, libmsodbcsql-18.0.so.1.1).
Статус должен быть следующим:
Active: inactive (dead) since <timestamp> ago
Установка драйвера JDBC
-
Загрузите файл mssql-jdbc-<версия>.jar. Прямую ссылку для загрузки поддерживаемой версии можно найти в разделе binary-artifacts в /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. После завершения загрузки скопируйте файл JAR в следующую папку на компьютере Data Movement Gateway:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Перезапустите службу Data Movement Gateway, выполнив команду, описанную в Перезапуск службы
Ограничения и замечания
Ограничения и замечания при использовании в конвейере данных
- Когда данные помещаются на промежуточное хранение в Microsoft SQL Server в конвейер данных, виды в реальном времени не поддерживаются. Для получения дополнительной информации о видах в реальном времени см. раздел Хранение наборов данных.
Ограничения и замечания, связанные со всеми задачами данных
Если следующие типы больших объектов являются пустыми в исходной базе данных (0 байт), они не будут пустыми после полной загрузки:
- BLOB будет записан как 0x0000 (2 байта)
- TEXT (VARCHAR(max)) будет записан как 0X00 (1 байт)
-
NTEXT (NVARCHAR(max)) будет записан как 0x0000 (2 байта)
Ограничения и замечания, связанные только с задачами репликации
- Полноразмерные столбцы LOB не поддерживаются в режиме применения Пакетная оптимизация. Чтобы обойти это ограничение, установите ограничение для размера столбца LOB в параметрах задачи или переключитесь в режим применения Транзакционное.
- Когда включены параметры Пакетная оптимизация и Реплицировать столбцы LOB с ограничением (КБ), столбцы BLOB и CLOB в цели будут усекаться до четверти размера, указанного в поле Ограничить размер LOB до, а столбцы CLOB будут усекаться до половины заданного размера.
- Если требуется реплицировать 4-байтовые символы эмодзи, используйте преобразование, чтобы изменить тип данных с WSTRING(n) на WSTRING(n*2).
Типы данных
Информация о собственном типе данных сохраняется и отображается в столбце Собственный тип данных в видах набора данных. Если этот столбец не отображается, необходимо открыть инструмент «Управление столбцами» в виде набора данных и выбрать столбец Собственный тип данных.
Типы данных Qlik Cloud | Типы данных Microsoft SQL Server |
---|---|
BOOLEAN |
TINYINT |
BYTES |
VARBINARY(длина) |
DATE |
DATE |
TIME |
TIME(0) |
DATETIME |
DATETIME2(scale) |
INT1 |
SMALLINT |
INT2 |
SMALLINT |
INT4 |
INT |
INT8 |
BIGINT |
NUMERIC |
NUMERIC(p,s) |
REAL4 |
REAL |
REAL8 |
FLOAT; |
STRING |
Если это столбец даты и времени, то: DATETIME2 Если это не столбец даты и времени, то: VARCHAR(length) |
UINT1 |
INT2 |
UINT2 |
INT4 |
UINT4 |
INT8 |
UINT8 |
NUMERIC(20) |
WSTRING |
NVARCHAR(length) |
BLOB |
VARBINARY(max) IMAGE |
CLOB |
VARCHAR(max) TEXT |
NCLOB |
NVARCHAR(max) NTEXT |
Следующие типы данных SQL Server не поддерживаются. Эти данные не будут читаться.
-
CURSOR;
-
SQL_VARIANT;
-
TABLE.
Следующие типы данных преобразуются в тип VARCHAR(MAX):
-
XML
-
GEOGRAPHY
-
GEOMETRY