Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • SmartCaptcha
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
  • Кейсы
  • Документация
  • Блог
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Практические руководства
    • Все руководства
      • Добавление данных в БД ClickHouse®
      • Получение данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse®
      • Получение данных из Managed Service for Apache Kafka® в ksqlDB
      • Получение данных из RabbitMQ в Managed Service for ClickHouse®
      • Миграция данных в Managed Service for ClickHouse® средствами ClickHouse®
      • Миграция данных в Managed Service for ClickHouse® при помощи Data Transfer
      • Миграция базы данных из Google BigQuery в Managed Service for ClickHouse®
      • Миграция данных со сменой хранилища из Managed Service for OpenSearch в Managed Service for ClickHouse® с помощью Data Transfer
      • Поставка данных из Managed Service for MySQL® в Managed Service for ClickHouse® с помощью Data Transfer
      • Обмен данными между Managed Service for ClickHouse® и Yandex Data Processing
      • Настройка Managed Service for ClickHouse® для Graphite
      • Сохранение потока данных Data Streams в Managed Service for ClickHouse®
      • Асинхронная репликация данных из PostgreSQL в ClickHouse®
      • Асинхронная репликация данных из Яндекс Метрика в ClickHouse® с помощью Data Transfer
      • Использование гибридного хранилища в Managed Service for ClickHouse®
      • Шардирование таблиц Managed Service for ClickHouse®
      • Выполнение аналитических запросов в Managed Service for PostgreSQL с обработкой в Managed Service for ClickHouse®
      • Загрузка данных из Яндекс Директ в витрину Managed Service for ClickHouse® с использованием Cloud Functions, Object Storage и Data Transfer
      • Загрузка данных из Object Storage в Managed Service for ClickHouse® с помощью Data Transfer
      • Загрузка данных из Managed Service for YDB в Managed Service for ClickHouse® с помощью Data Transfer
      • Интеграция Yandex Managed Service for ClickHouse® с Microsoft SQL Server через ClickHouse® JDBC Bridge
      • Интеграция Yandex Managed Service for ClickHouse® с Oracle через ClickHouse® JDBC Bridge

В этой статье:

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Подготовьте внешнюю базу данных Microsoft SQL Server
  • Запросите данные с помощью JDBC Table Function
  • Создайте таблицу с помощью JDBC Table Engine
  • Удалите созданные ресурсы
  1. Построение Data Platform
  2. ClickHouse®
  3. Интеграция Yandex Managed Service for ClickHouse® с Microsoft SQL Server через ClickHouse® JDBC Bridge

Интеграция Yandex Managed Service for ClickHouse® с внешней базой данных Microsoft SQL Server через ClickHouse® JDBC Bridge

Статья создана
Yandex Cloud
Обновлена 5 ноября 2026 г.
Открыть в Markdown
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Подготовьте внешнюю базу данных Microsoft SQL Server
  • Запросите данные с помощью JDBC Table Function
  • Создайте таблицу с помощью JDBC Table Engine
  • Удалите созданные ресурсы

С помощью ClickHouse® JDBC Bridge вы можете запрашивать данные из таблицы внешней базы данных Microsoft SQL Server функцией JDBC Table Function. Для создания таблиц в кластере ClickHouse®, которые ссылаются на таблицу внешней базы данных Microsoft SQL Server, будет использоваться инструмент JDBC Table Engine.

Чтобы интегрировать кластер ClickHouse® с БД Microsoft SQL Server через ClickHouse® JDBC Bridge:

  1. Подготовьте инфраструктуру.
  2. Подготовьте внешнюю базу данных Microsoft SQL Server.
  3. Запросите данные с помощью JDBC Table Function.
  4. Создайте таблицу с помощью JDBC Table Engine.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

  • Кластер Managed Service for ClickHouse®: использование вычислительных ресурсов выделенных хостов, объем хранилища и резервных копий (тарифы Managed Service for ClickHouse®).
  • NAT-шлюз: почасовое использование шлюза и исходящий через него трафик, если для хостов кластера не включен публичный доступ (тарифы Virtual Private Cloud).
  • Публичные IP-адреса, если для хостов кластера включен публичный доступ (тарифы Virtual Private Cloud).

Подготовьте инфраструктуруПодготовьте инфраструктуру

  1. Создайте группу безопасности и настройте ее.

    Также добавьте правило для исходящего трафика:

    • Диапазон портов — 0-65535;
    • Протокол — TCP;
    • Источник — Диапазон адресов;
    • IPv4 CIDR — 0.0.0.0/0.

    Это правило разрешает любой исходящий трафик, что позволит ClickHouse® JDBC Bridge подключаться к внешним базам данных, в том числе к Microsoft SQL Server.

  2. Создайте кластер Managed Service for ClickHouse®.

    При создании кластера укажите группу безопасности, подготовленную ранее.

    В разделе Настройки СУБД нажмите Настроить и добавьте опцию jdbcBridge с параметрами:

    • host — IP-адрес вашей инсталляции базы данных Microsoft SQL Server;
    • port — 9019.
  3. Создайте NAT-шлюз для подсети, в которой будет создан кластер Managed Service for ClickHouse®, если вы не используете публичный доступ.

Подготовьте внешнюю базу данных Microsoft SQL ServerПодготовьте внешнюю базу данных Microsoft SQL Server

  1. Убедитесь, что к вашей инсталляции внешней базы данных Microsoft SQL Server разрешено подключение по портам 9019 и 1433.

  2. Подключитесь к вашей инсталляции внешней базы данных Microsoft SQL Server и загрузите JDBC-драйвер в директорию /opt/drivers:

    sudo mkdir -p /opt/drivers && \
    curl -s https://repo1.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/ | grep -oP '(?<=href=")[^"]+(?=/")' | grep 'jre8$' | grep -v 'preview' | sort -V | tail -n1 | xargs -I{} bash -c 'ver="{}"; file=$(curl -s https://repo1.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/$ver/ | grep -oP "(?<=href=\")[^\"]+\.jar" | grep -vE "javadoc|sources" | head -n1); sudo curl -o /opt/drivers/$file https://repo1.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/$ver/$file'
    
  3. Установите Docker Engine.

  4. Запустите ClickHouse® JDBC Bridge:

    docker run -d --name jdbc_bridge --network host -v /opt/drivers:/app/drivers clickhouse/jdbc-bridge
    

    Если у вас уже запущен контейнер, перезапустите его, чтобы новые драйверы загрузились в ClickHouse® JDBC Bridge:

    docker container restart jdbc_bridge
    
  5. Создайте файл init.sql следующего содержания:

    CREATE LOGIN jdbc_user WITH PASSWORD = '<пароль_пользователя>';
    GO
    CREATE DATABASE mydb;
    GO
    USE mydb;
    GO
    CREATE USER jdbc_user FOR LOGIN jdbc_user;
    GO
    ALTER ROLE db_owner ADD MEMBER jdbc_user;
    GO
    CREATE SCHEMA jdbc_schema AUTHORIZATION jdbc_user;
    GO
    ALTER USER jdbc_user WITH DEFAULT_SCHEMA = jdbc_schema;
    GO
    

    Где <пароль_пользователя> должен быть длиной минимум 8 символов и содержать хотя бы три из четырех типов:

    • буквы верхнего регистра;
    • буквы нижнего регистра;
    • цифры;
    • спецсимволы.
  6. Выполните скрипт init.sql через sqlcmd от имени административного пользователя SA:

    sqlcmd -S <хост_Microsoft_SQL_Server> -U SA -P '<пароль_администратора>' -i init.sql
    

    Где:

    • <хост_Microsoft_SQL_Server> — IP-адрес вашей инсталляции Microsoft SQL Server.
    • <пароль_администратора> — пароль от административной учетной записи SA.

    В результате его выполнения будут созданы:

    • база данных mydb;
    • пользователь jdbc_user;
    • схема jdbc_schema.
  7. Подключитесь от имени нового пользователя jdbc_user:

    sqlcmd -S <хост_Microsoft_SQL_Server> -U jdbc_user -P '<пароль_пользователя>' -i init.sql
    
  8. Создайте набор тестовых данных:

    CREATE TABLE Employees (
        Id INT PRIMARY KEY IDENTITY(1,1),
        Name NVARCHAR(100),
        Position NVARCHAR(100),
        Salary DECIMAL(10,2)
    );
    GO
    
    INSERT INTO Employees (Name, Position, Salary) VALUES
    ('Alice Johnson', 'Developer', 75000),
    ('Bob Smith', 'Manager', 90000),
    ('Charlie Rose', 'Analyst', 65000);
    GO
    
    SELECT * FROM Employees;
    GO
    

Запросите данные с помощью JDBC Table FunctionЗапросите данные с помощью JDBC Table Function

  1. Подключитесь к кластеру Managed Service for ClickHouse®.

  2. Отправьте запрос к внешней базе данных Microsoft SQL Server с помощью JDBC Table Function:

    SELECT * FROM jdbc('jdbc:sqlserver://<хост_Microsoft_SQL_Server_DB>:1433;databaseName=mydb;user=jdbc_user;password=<пароль_пользователя>;encrypt=false;', 'jdbc_schema', 'Employees')
    

    Где:

    • <пароль_пользователя> — пароль пользователя jdbc_user.
    • <хост_Microsoft_SQL_Server_DB> — IP-адрес вашей инсталляции базы данных Microsoft SQL Server.

    Если запрос выполнен успешно, то вы получите данные из внешней базы данных Microsoft SQL Server.

Создайте таблицу с помощью JDBC Table EngineСоздайте таблицу с помощью JDBC Table Engine

С помощью JDBC Table Engine вы можете запрашивать данные через SELECT. Чтобы использовать JDBC Table Engine:

  1. Подключитесь к кластеру Managed Service for ClickHouse®.

  2. Создайте таблицу с JDBC Table Engine на основе таблицы из внешней базы данных Microsoft SQL Server.

    CREATE TABLE mssql_employees
    (
        Id Int32,
        Name String,
        Position String,
        Salary Decimal(10, 2)
    )
    ENGINE = JDBC(
        'jdbc:sqlserver://<хост_Microsoft_SQL_Server_DB>:1433;databaseName=mydb;user=jdbc_user;password=<пароль_пользователя>;encrypt=false;',
        'jdbc_schema',
        'Employees'
    );
    

    Вы также можете создать таблицу с частичным указанием полей.

  3. Проверьте результат:

    SELECT * FROM mssql_employees;
    

    Если таблица создалась корректно, то вы увидите вывод данных из таблицы внешней базы данных Microsoft SQL Server.

Удалите созданные ресурсыУдалите созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  • Удалите кластер Managed Service for ClickHouse®.
  • Удалите NAT-шлюз.

ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc.

Была ли статья полезна?

Предыдущая
Загрузка данных из Managed Service for YDB в Managed Service for ClickHouse® с помощью Data Transfer
Следующая
Интеграция Yandex Managed Service for ClickHouse® с Oracle через ClickHouse® JDBC Bridge
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»