Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Решения распространенных проблем с подключением, проверкой подлинности и конфигурацией сущностей в построителе API данных.
Распространенные вопросы
Что такое поддержка SQL Server в DAB?
Конструктор API данных поддерживает Microsoft SQL Server и Azure SQL в качестве серверной части для реляционных баз данных. DAB подключается с помощью драйвера Microsoft.Data.SqlClient и преобразует запросы REST и GraphQL в запросы T-SQL. Поддерживаются как локальные экземпляры SQL Server, так и база данных SQL Azure.
Какой формат строки подключения использует SQL Server?
DAB использует строки подключения в стиле ADO.NET для SQL Server. Типичная строка выглядит следующим образом Server=localhost,1433;Database=mydb;User Id=sa;Password=yourpassword;TrustServerCertificate=True;. Задайте строку подключения в data-source.connection-string в dab-config.json или передайте ее с помощью параметра --connection-string в dab init.
Какие режимы проверки подлинности поддерживаются?
DAB поддерживает проверку подлинности SQL (имя пользователя и пароль), встроенную проверку подлинности Windows и проверку подлинности Microsoft Entra (ранее — Azure Active Directory) для SQL Azure. Чтобы использовать проверку подлинности Entra, задайте Authentication=Active Directory Default или Active Directory Managed Identity в строке подключения и убедитесь, что управляемое удостоверение или служебный принципал получили доступ к базе данных.
Распространенные проблемы
Не удается подключиться к контейнеру SQL Server
Симптом: DAB не удается запуститься из-за ошибки подключения, например A network-related or instance-specific error occurred.
Причина: Порт контейнера SQL Server неправильно сопоставлён, неправильное имя узла или контейнер еще не готов к принятию подключений.
Решение: Убедитесь, что контейнер запущен с docker ps. Подтвердите сопоставление портов (по умолчанию 1433) и используйте localhost,1433 в строке подключения. Добавьте TrustServerCertificate=True , если используется самозаверяющий сертификат. Если контейнер только что запущен, подождите несколько секунд, чтобы SQL Server успел запуститься, прежде чем начинать запуск DAB.
Сбой входа для пользователя
Симптом: Журналы DAB показывают Login failed for user 'sa' или аналогичную ошибку проверки подлинности.
Причина: Имя пользователя, пароль или режим проверки подлинности в строке подключения не совпадает с настройками SQL Server. SQL Server также может работать в режиме только для проверки подлинности Windows.
Решение: Убедитесь, что учетные данные соответствуют тем, что были установлены при создании контейнера или сервера. При использовании контейнера проверьте SA_PASSWORD переменную среды. Чтобы включить проверку подлинности SQL на существующем экземпляре, задайте режим проверки подлинности сервера в режиме проверки подлинности SQL Server и Windows в SQL Server Management Studio в разделе "Безопасность свойств > сервера".
Ошибка: сущность не найдена
Симптом: Запросы REST или GraphQL возвращают ошибку или схему 404 , указывающую, что исходная таблица сущности не существует.
Причина: Имя таблицы или префикс схемы в поле сущности source не соответствует фактическому объекту базы данных. Имена таблиц SQL Server не учитывает регистр по умолчанию, но префикс схемы (например, dbo) должен присутствовать, если схема по умолчанию не используется.
Разрешение: Проверьте значение в dab-config.json. Используйте полное имя, например dbo.Products. Выполните SELECT * FROM INFORMATION_SCHEMA.TABLES команду в целевой базе данных, чтобы подтвердить имя таблицы и схему.
Ошибка подключения к Azure SQL из-за брандмауэра или сети
Симптом: Подключения к базе данных Azure SQL завершаются по тайм-ауту или возвращают Cannot open server ... requested by the login.
Причина: IP-адрес клиента не разрешен правилами брандмауэра SQL Server Azure или параметр доступа к службе Azure отключен.
Разрешение: На портале Azure перейдите к ресурсу SQL Server и выберите "Сеть". Добавьте IP-адрес клиента в список разрешений брандмауэра или включите разрешить службам и ресурсам Azure доступ к этому серверу , если DAB работает в Azure. Для проверки подлинности управляемого удостоверения убедитесь, что удостоверение добавлено в качестве пользователя базы данных.CREATE USER [identity-name] FROM EXTERNAL PROVIDER
Столбцы JSON не обнаруживаются автоматически
Симптом: Столбец с типом JSON или NVARCHAR(MAX), в который хранятся данные JSON, не предоставляется в виде структурированного объекта в схеме API.
Причина: Построитель API данных пока не обнаруживает и не сопоставляет столбцы JSON в Azure SQL. Это известное ограничение, отслеживаемое в проблеме GitHub #444.
Разрешение: Обходного решения не существует в настоящее время. Столбец будет предоставляться в виде обычного строкового значения. Следите за проблемой на GitHub, чтобы получать обновления о добавлении поддержки нативных столбцов JSON.