Поделиться через


Развертывание SQL Azure для пограничных вычислений

Внимание

Azure SQL Edge будет прекращена 30 сентября 2025 г. Дополнительные сведения и параметры миграции см. в уведомлении о выходе на пенсию.

Примечание.

Azure SQL Edge больше не поддерживает платформу ARM64.

SQL Azure для пограничных вычислений — это ядро реляционной базы данных, оптимизированное для развертываний Интернета вещей и Azure IoT Edge. Эта служба предоставляет возможности для создания высокопроизводительного хранилища данных и уровня обработки для приложений и решений Интернета вещей. В этом кратком руководстве описано, как начать работу с создания модуля SQL Azure для пограничных вычислений в Azure IoT Edge с помощью портала Azure.

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

Примечание.

Сведения о развертывании виртуальной машины Linux в Azure в качестве устройства IoT Edge см. в этом кратком руководстве.

Развертывание пограничного модуля SQL Azure с помощью Центр Интернета вещей

Пограничный сервер SQL Azure можно развернуть с помощью инструкций из модулей развертывания из портал Azure. Универсальный код ресурса (URI) образа для Пограничных вычислений SQL mcr.microsoft.com/azure-sql-edge:latestAzure.

  1. На странице "Добавление модуля IoT Edge" укажите требуемые значения для имени модуля IoT Edge, URI образа, политики перезапуска и требуемого состояния.

    Используйте следующий URI образа в зависимости от выпуска, который требуется развернуть:

    • Выпуск разработчика - mcr.microsoft.com/azure-sql-edge/developer
    • Выпуск Premium - mcr.microsoft.com/azure-sql-edge/premium
  2. В разделе "Переменные среды" на странице "Добавление модуля IoT Edge" укажите требуемые значения переменных среды. Полный список переменных среды SQL Azure для пограничных вычислений см. в статье "Настройка использования переменных среды".

    Параметр Описание
    ACCEPT_EULA Задайте для этого значения, чтобы Y принять соглашение о лицензировании конечных пользователей
    MSSQL_SA_PASSWORD Задайте значение, чтобы указать надежный пароль для учетной записи администратора SQL Edge.
    MSSQL_LCID Задайте значение для задания требуемого идентификатора языка, используемого для SQL Edge. Например, значение 1036 соответствует французскому языку.
    MSSQL_COLLATION Задайте значение, чтобы задать параметры сортировки по умолчанию для SQL Edge. Этот параметр переопределяет заданное по умолчанию сопоставление идентификатора языка (LCID) и параметров сортировки.
  3. В разделе "Параметры создания контейнера" на странице "Добавление модуля IoT Edge" задайте параметры в соответствии с требованиями.

    • Порт узла

      Сопоставите указанный порт узла с портом 1433 (портОМ SQL по умолчанию) в контейнере.

    • Привязки и подключения

      Если необходимо развернуть несколько модулей SQL Edge, убедитесь, что вы обновляете параметр подключения, чтобы создать новую исходную и целевую пару для постоянного тома. Дополнительные сведения о подключениях и томах см. в документации По Docker.

    {
        "HostConfig": {
            "CapAdd": [
                "SYS_PTRACE"
            ],
            "Binds": [
                "sqlvolume:/sqlvolume"
            ],
            "PortBindings": {
                "1433/tcp": [
                    {
                        "HostPort": "1433"
                    }
                ]
            },
            "Mounts": [
                {
                    "Type": "volume",
                    "Source": "sqlvolume",
                    "Target": "/var/opt/mssql"
                }
            ]
        },
        "Env": [
            "MSSQL_AGENT_ENABLED=TRUE",
            "ClientTransportType=AMQP_TCP_Only",
            "PlanId=asde-developer-on-iot-edge"
        ]
    }
    

    Внимание

    PlanId Задайте переменную среды на основе установленного выпуска.

    • Выпуск разработчика - asde-developer-on-iot-edge
    • Выпуск Premium - asde-premium-on-iot-edge

    Если это значение задано неправильно, не удается запустить контейнер SQL Azure Для пограничных вычислений.

    Предупреждение

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

  4. На странице "Добавление модуля IoT Edge" нажмите кнопку "Добавить".

  5. На странице "Задать модули" на устройстве нажмите кнопку "Далее: маршруты > ", если необходимо определить маршруты для развертывания. В противном случае нажмите кнопку "Проверить и создать". Дополнительные сведения см. в разделе Развертывание модулей и объявление маршрутов в IoT Edge.

  6. На странице "Задать модули" на странице устройства нажмите кнопку "Создать".

Подключение к службе SQL Azure для пограничных вычислений

На следующем шаге воспользуемся средством командной строки SQL Azure для пограничных вычислений sqlcmd внутри контейнера для подключения к SQL Azure для пограничных вычислений.

Примечание.

Средства командной строки SQL Server, включая sqlcmd, недоступны в версии ARM64 контейнеров SQL Azure Для пограничных вычислений.

  1. Выполните команду docker exec -it, чтобы запустить интерактивную оболочку bash внутри запущенного контейнера. В следующем примере используется имя, AzureSQLEdge указанное параметром Name модуля IoT Edge.

    sudo docker exec -it AzureSQLEdge "bash"
    
  2. После подключения в контейнере подключитесь локально с помощью средства sqlcmd . sqlcmd по умолчанию не указан в пути, поэтому необходимо указать полный путь.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
    

    Совет

    Вы можете опустить пароль в командной строке. В этом случае вы получите приглашение для его ввода.

  3. Если все сработает должным образом, вы перейдете к приглашению команды sqlcmd: 1>.

Создание и запрос данных

В следующих разделах приведено пошаговое руководство по созданию базы данных, добавлению данных и запуску запроса с использованием sqlcmd и Transact-SQL.

Создание базы данных

Выполните следующие шаги, чтобы создать базу данных TestDB.

  1. В приглашении команды sqlcmd вставьте следующую команду Transact-SQL, чтобы создать тестовую базу данных:

    CREATE DATABASE TestDB;
    GO
    
  2. В следующей строке напишите запрос, который должен вернуть имена всех баз данных на сервере:

    SELECT name from sys.databases;
    GO
    

Вставка данных

Затем создайте новую таблицу с именем Inventoryи вставьте две новые строки.

  1. В приглашении команды sqlcmd переключите контекст на новую базу данных TestDB:

    USE TestDB;
    
  2. Создайте таблицу Inventory:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. Вставьте данные в новую таблицу:

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. Введите GO, чтобы выполнить предыдущие команды:

    GO
    

Выбор данных

Теперь выполните запрос, чтобы вернуть данные из таблицы Inventory.

  1. В приглашении команды sqlcmd введите запрос, который должен вернуть из таблицы Inventory строки, где количество превышает 152:

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. Выполните команду:

    GO
    

Выход из приглашения команды sqlcmd

  1. Чтобы завершить сеанс sqlcmd, введите QUIT:

    QUIT
    
  2. Чтобы выйти из интерактивной командной строки в контейнере, введите команду exit. Контейнер продолжит работать после выхода из интерактивной оболочки bash.

Подключение извне контейнера

Вы можете подключаться и выполнять запросы к вашему экземпляру SQL Azure для пограничных вычислений с помощью любого внешнего инструмента в Linux, Windows или macOS, поддерживающего подключения SQL. Дополнительные сведения о подключении к контейнеру SQL Edge извне см. в статье Connect and Query Azure SQL Edge.

Из этого краткого руководства вы узнали, как развернуть модуль SQL для пограничных вычислений на устройстве IoT Edge.