Перейти к основному содержимому Перейти к дополнительному содержимому

Microsoft SQL Server

В этом разделе объясняется настройка подключения к цели Microsoft SQL Server с использованием коннектора Цель Microsoft SQL Server. Цель Microsoft SQL Server можно использовать в задаче репликации или как целевая платформа данных в конвейере данных. В конвейере данных можно выполнять различные операции на целевой платформе, включая промежуточное хранение, постоянное хранение, преобразование, регистрацию данных и создание киоска данных.. Прежде чем подключаться к цели Microsoft SQL Server, необходимо настроить Предварительные условия для пользователя в базе данных. Если подключение к Microsoft SQL Server осуществляется через Data Movement Gateway, также требуется установить необходимый драйвер, как описано в Настройка драйвера.

Для получения дополнительной информации об ограничениях и замечаниях при использовании коннектора Цель Microsoft SQL Server см. раздел Ограничения и замечания.

Настройка свойств подключения

В этом разделе описаны доступные свойства подключения. Если не указано иное, все свойства являются обязательными.

Data Movement Gateway

Цель Microsoft SQL Server можно использовать в конвейере данных или в задаче репликации. Тогда как шлюз Data Movement Gateway может иногда требоваться для доступа к цели Microsoft SQL Server в конвейере данных (в зависимости от того, доступна ли база данных непосредственно изQlik Cloud), он всегда требуется при использовании цели Microsoft SQL Server в задаче регистрации.

Примечание к информацииПри обращении к целевой базе данных через Data Movement Gateway, также необходимо установить соответствующий драйвер на компьютер с Data Movement Gateway. Для получения подробных сведений см. раздел Настройка драйвера ниже.

Использование цели Microsoft SQL Server в конвейере данных

Шлюз данных: Data Movement Gateway требуется, только если целевая база данных недоступна из Qlik Cloud и доступна только по ссылке PrivateLink (например, если она расположена локально и защищена брандмауэром или в виртуальном частном облаке). В таком случае выберите Data Movement Gateway, через который требуется обращаться к целевой базе данных.

В зависимости от конкретной ситуации, это будет либо тот же Data Movement Gateway, развернутый для промежуточного хранения данных, либо другой шлюз. Для получения дополнительной информации о доступных возможностях развертывания Data Movement Gateway см. Общие случаи использования.

Примечание к информацииТребуется Data Movement Gateway 2022.11.70 или более поздней версии.

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

  1. Остановите службу Data Movement Gateway:

    sudo systemctl stop repagent

  2. Если нужно, подтвердите, что служба остановлена:

    sudo systemctl status repagent

    Статус должен быть следующим:

    Active: inactive (dead) since <timestamp> ago

  3. На компьютере шлюза Перемещение данных измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

  4. Выполните следующую команду:

    Синтаксис:

    ./install sqlserver

    Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Перемещение данных. После этого выполните команду install sqlserver еще раз.

    В противном случае откроется лицензионное соглашение с конечным пользователем driverа.

  5. Выполните одно из следующих действий:

    • Нажмите клавишу [Enter] несколько раз, чтобы медленно прокрутить лицензионное соглашение.
    • Нажимайте клавишу «Пробел» несколько раз, чтобы быстро прокрутить лицензионное соглашение.
    • Нажмите клавишу «q», чтобы закрыть текст лицензионного соглашения и перейти к шагу принятия/отклонения.
  6. Затем выполните одно из следующих действий:

    • Введите «y» и нажмите клавишу [Enter], чтобы принять лицензионное соглашение и запустить установку.
    • Введите «n» и нажмите клавишу [Enter], чтобы отклонить лицензионное соглашение и отменить установку.
    • Введите «v» и нажмите клавишу [Enter], чтобы снова открыть лицензионное соглашение для просмотра.

  7. Будет установлен driver.

  8. Дождитесь завершения установки (появится сообщение «Завершено!»), а затем запустите службу Data Movement Gateway:

    sudo systemctl start repagent

  9. Если нужно, подтвердите, что сервис запущен:

    sudo systemctl status repagent

    Статус должен быть следующим:

    Active: active (running) since <timestamp> ago

Выполните команду обновления, если требуется удалить предыдущие версии driverа перед установкой предоставленной версии driverа.

Чтобы загрузить и обновить driver, выполните следующие действия.

  1. Остановите службу Data Movement Gateway:

    sudo systemctl stop repagent

  2. Если нужно, подтвердите, что служба остановлена:

    sudo systemctl status repagent

    Статус должен быть следующим:

    Active: inactive (dead) since <timestamp> ago

  3. На компьютере шлюза Перемещение данных измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

  4. Выполните следующую команду:

    Синтаксис:

    ./update sqlserver

    Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Перемещение данных. После этого выполните команду update sqlserver еще раз.

    В противном случае откроется лицензионное соглашение с конечным пользователем driverа.

  5. Выполните одно из следующих действий:

    • Нажмите клавишу [Enter] несколько раз, чтобы медленно прокрутить лицензионное соглашение.
    • Нажимайте клавишу «Пробел» несколько раз, чтобы быстро прокрутить лицензионное соглашение.
    • Нажмите клавишу «q», чтобы закрыть текст лицензионного соглашения и перейти к шагу принятия/отклонения.
  6. Затем выполните одно из следующих действий:

    • Введите «y» и нажмите клавишу [Enter], чтобы принять лицензионное соглашение и запустить установку.
    • Введите «n» и нажмите клавишу [Enter], чтобы отклонить лицензионное соглашение и отменить установку.
    • Введите «v» и нажмите клавишу [Enter], чтобы снова просмотреть лицензионное соглашение от начала.
  7. Будет удален старый driver и установлен новый driver.

  8. Дождитесь завершения установки (появится сообщение «Завершено!»), а затем запустите службу Data Movement Gateway:

    sudo systemctl start repagent

  9. Если нужно, подтвердите, что сервис запущен:

    sudo systemctl status repagent

    Статус должен быть следующим:

    Active: active (running) since <timestamp> ago

Выполните команду удаления, если требуется удалить driver.

Чтобы удалить driver, выполните следующие действия.

  1. Остановите все задачи, использующие данный коннектор.

  2. На компьютере шлюза Перемещение данных измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

  3. Выполните следующую команду:

    Синтаксис:

    ./uninstall sqlserver

    driver будет удален.

Установка драйверов вручную

Установку driver вручную следует пытаться выполнить только в том случае, если автоматическая установка драйвера не завершилась успешно.

Когда Microsoft SQL Server используется в качестве цели в конвейере данных, необходимо установить и драйвер ODBC, и драйвер JDBC. Когда Microsoft SQL Server используется в качестве цели в задаче репликации, необходимо установить только драйвер 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 откройте приглашение оболочки и выполните действия, указанные ниже.

  1. Остановите службу Data Movement gateway:

    sudo systemctl stop repagent

  2. Если нужно, подтвердите, что служба остановлена:

    sudo systemctl status repagent

  3. Статус должен быть следующим:

    Active: inactive (dead) since <timestamp> ago

  4. Установите драйвер (RPM).

  5. Замените рабочую папку на <product_dir>/bin.

  6. Скопируйте местоположение драйвера в файл 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 обновится расположение драйвера.

  7. При необходимости подтвердите, что расположение драйвера скопировано.

    cat site_arep_login.sh
  8. Запустите службу Data Movement gateway.

    sudo systemctl start repagent

  9. При необходимости подтвердите, что служба запущена.

    sudo systemctl status repagent

    Статус должен быть следующим:

    Active: active (running) since <timestamp> ago

  10. Для 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).

Примечание к информацииКогда Microsoft SQL Server используется в качестве цели в задаче репликации, не требуется устанавливать драйвер JDBC.
  1. Загрузите файл 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

  2. Перезапустите службу Data Movement Gateway, выполнив команду, описанную в Перезапуск службы

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

Ограничения и замечания при использовании в конвейере данных

  • Когда данные помещаются на промежуточное хранение в Microsoft SQL Server в конвейер данных, виды в реальном времени не поддерживаются. Для получения дополнительной информации о видах в реальном времени см. раздел Хранение наборов данных.

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

Если следующие типы больших объектов являются пустыми в исходной базе данных (0 байт), они не будут пустыми после полной загрузки:

  • BLOB будет записан как 0x0000 (2 байта)
  • TEXT (VARCHAR(max)) будет записан как 0X00 (1 байт)
  • NTEXT (NVARCHAR(max)) будет записан как 0x0000 (2 байта)

Примечание к информацииЕсли эти типы являются пустыми во время обработки изменений, они будут правильно записаны в цель как пустые (0 байт).

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

  • Полноразмерные столбцы LOB не поддерживаются в режиме применения Пакетная оптимизация. Чтобы обойти это ограничение, установите ограничение для размера столбца LOB в параметрах задачи или переключитесь в режим применения Транзакционное.
  • Когда включены параметры Пакетная оптимизация и Реплицировать столбцы LOB с ограничением (КБ), столбцы BLOB и CLOB в цели будут усекаться до четверти размера, указанного в поле «Ограничить размер LOB до».
  • Если требуется реплицировать 4-байтовые символы эмодзи, используйте преобразование, чтобы изменить тип данных с WSTRING(n ) на WSTRING( n*2 ).

Типы данных

Информация о собственном типе данных сохраняется и отображается в столбце Собственный тип данных в видах набора данных. Если этот столбец не отображается, необходимо открыть инструмент «Управление столбцами» в виде набора данных и выбрать столбец Собственный тип данных.

Поддерживаемые целевые типы данных
Типы данных Qlik Cloud Типы данных Microsoft SQL Server

BOOLEAN

TINYINT

BYTES

VARBINARY(length)

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

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!