Устранение неисправностей выделенного пула SQL (ранее — хранилище данных SQL) в Azure Synapse Analytics

В этой статье перечислены типичные неполадки выделенного пула SQL (ранее — в хранилище данных SQL) в Azure Synapse Analytics и способы их устранения.

Связь

Проблема Решение
Ошибка входа пользователя "NT AUTHORITY\ANONYMOUS LOGON". (Microsoft SQL Server, ошибка: 18456) Эта ошибка возникает, когда пользователь Microsoft Entra пытается подключиться к master базе данных, но не имеет пользователя master. Для устранения этой проблемы укажите во время подключения выделенный пул SQL (ранее — хранилище данных SQL), к которому необходимо подключиться, либо добавьте учетную запись пользователя в базу данных master. Дополнительные сведения см. в обзоре функций безопасности.
Субъект-сервер "MyUserName" не может получить доступ к базе данных master в текущем контексте безопасности. Невозможно открыть пользовательскую базу данных по умолчанию. Ошибка входа. Пользователю "MyUserName" не удалось войти в систему. (Microsoft SQL Server, ошибка: 916) Эта ошибка возникает, когда пользователь Microsoft Entra пытается подключиться к master базе данных, но не имеет пользователя master. Для устранения этой проблемы укажите во время подключения выделенный пул SQL (ранее — хранилище данных SQL), к которому необходимо подключиться, либо добавьте учетную запись пользователя в базу данных master. Дополнительные сведения см. в обзоре функций безопасности.
Ошибка CTAIP Эта ошибка может возникнуть, когда имя для входа есть в базе данных master в Базе данных SQL, но отсутствует в конкретной базе данных SQL. Если возникла эта ошибка, ознакомьтесь со статьей Защита базы данных в хранилище данных SQL. В этой статье описано, как в базе данных master создать имя для входа и пользователя, а затем как создать пользователя в базе данных SQL.
Заблокировано брандмауэром Выделенные пулы SQL (ранее — хранилище данных SQL) защищены брандмауэрами. Это гарантирует, что доступ к базе данных возможен только с известных IP-адресов. Брандмауэры являются безопасными по умолчанию. Это означает, что перед подключением необходимо прямо разрешить доступ для IP-адреса или диапазона IP-адресов. Чтобы настроить брандмауэр для предоставления доступа, выполните указания в разделе Настройка доступа через брандмауэр сервера для IP-адреса вашего клиента в статье Инструкции по подготовке.
Не удается подключиться с помощью средства или драйвера Для запроса данных из выделенного пула SQL (ранее — хранилище данных SQL) рекомендуется использовать SQL Server Management Studio (SSMS), SSDT для Visual Studio или sqlcmd. Для получения дополнительной информации о драйверах и подключении к Azure Synapse обратитесь к статьям Драйверы для Azure Synapse и Подключение к Azure Synapse.

Инструменты

Проблема Решение
Обозреватель объектов Visual Studio отсутствует пользователей Microsoft Entra Это известная проблема. Сведения о пользователях можно просмотреть в файле sys.database_principals. Дополнительные сведения об использовании идентификатора Microsoft Entra с выделенным пулом SQL (ранее — хранилище данных SQL) см. в статье "Проверка подлинности в Azure Synapse ".
Создание сценариев вручную, использование мастера создания сценариев или подключение с помощью SSMS происходит медленно, не отвечает или с ошибками. Убедитесь, что пользователи были созданы в базе данных master. Кроме того, убедитесь, что в параметрах скриптов заданы выпуск ядра "Выпуск Microsoft Azure Synapse Analytics Edition" и тип модуля "База данных SQL Microsoft Azure".
Создание скриптов в SSMS завершается ошибкой Если для параметра "Сформировать скрипт для зависимых объектов" задано значение True, создание скрипта для выделенного пула SQL (ранее — хранилище данных SQL) завершается ошибкой. Чтобы устранить проблему, выберите Сервис -> Параметры -> Обозреватель объектов SQL Server -> Создать скрипт для зависимых параметров и задайте значение False.

прием и подготовка данных;

Проблема Решение
Экспорт пустых строк с помощью CETAS приведет к появлению значений NULL в файлах Parquet и ORC. Примечание. Если вы экспортируете пустые строки из столбцов с ограничениями NOT NULL, то CETAS отклонит такие записи, и операция экспорта может завершиться сбоем. Удалите пустые строки или столбец, вызывающий ошибку, в инструкции SELECT вашего CETAS.
Загрузка значения вне диапазона 0–127 в столбец tinyint для файлов формата Parquet и ORC не поддерживается. Укажите для целевого столбца тип данных большего объема.
Сообщение 105208, уровень 16, состояние 1, строка 1 — не удалось выполнить инструкцию COPY при проверке значения параметра FROM: "105200; Не удалось выполнить инструкцию COPY из-за недопустимого значения параметра FROM". В настоящее время прием данных с помощью команды COPY в учетную запись хранения Azure, использующую новую функцию секционирования DNS, приводит к ошибке. Функция секционирования DNS позволяет клиентам создавать до 5000 учетных записей хранения в каждой подписке. Чтобы устранить проблему, подготовьте учетную запись хранения в подписке, которая не использует новую функцию секции DNS службы хранилища Azure (в настоящее время в общедоступной предварительной версии).

Производительность

Проблема Решение
Устранение проблем с производительностью запросов Если вы пытаетесь устранить проблему конкретного запроса, для начала ознакомьтесь со статьей Мониторинг рабочей нагрузки с помощью динамических административных представлений.
Проблемы с пространством tempdb Использование пространства Мониторинг TempDB. Ниже приводятся распространенные причины нехватки пространства tempdb.
Запросу выделяется недостаточно ресурсов, что вызывает сброс данных в tempdb. См. раздел Управление рабочими нагрузками.
Статистика отсутствует или устарела, что приводит к перемещению чрезмерного объема данных. См. подробные сведения о составлении статистики в разделе Ведение статистики таблиц.
- Пространство tempdb выделяется на уровне служб. В результате увеличения числа единиц DWU в выделенном пуле SQL (ранее — хранилище данных SQL) будет выделено больше пространства tempdb.
Низкая производительность и неправильные планы запросов в результате отсутствия статистики Самая распространенная причина низкой производительности — отсутствие статистики таблиц. Дополнительные сведения о создании статистики и о том, почему она очень важна для производительности, см. в статье Ведение статистики таблиц.
Низкий уровень параллелизма и помещение запросов в очередь Чтобы обеспечить выделение памяти с учетом параллелизма, важно понимать принципы управления рабочими нагрузками.
Реализация рекомендаций Стоит начать изучение методов увеличения производительности запросов со статьи Рекомендации по использованию выделенного пула SQL (ранее — хранилище данных SQL).
Повышение производительности за счет масштабирования Иногда производительность запросов растет при простом увеличении вычислительной мощности на выполнение запросов, что делается за счет масштабирования выделенного пула SQL (ранее — хранилище данных SQL).
Низкая производительность запросов как результат низкого качества индексов Иногда выполнение запросов может замедляться из-за низкого качества индекса columnstore. Дополнительные сведения см. в разделе Повышение качества сегментов за счет перестроения индексов.

Управление системой

Проблема Решение
Сообщение 40847: не удалось выполнить операцию, так как сервер достиг допустимой квоты в 45 000 единиц транзакций базы данных (DTU). Либо уменьшите значение DWU создаваемой базы данных, либо запросите увеличение квоты.
Анализ использования пространства Сведения об использовании пространства в системе см. в разделе о размерах таблиц.
Справка по управлению таблицами Справочную информацию об управлении таблицами см. в статье Обзор таблиц. Дополнительные сведения см. в статьях, посвященных типам данных таблиц, распределению, индексированию и секционированию таблиц, а также управлению статистикой таблиц и временным таблицам.
На портале Azure не обновляется индикатор хода прозрачного шифрования данных (TDE) Состояние прозрачного шифрования данных можно узнать с помощью PowerShell.

Отличия от базы данных SQL

Проблема Решение
Неподдерживаемые функции базы данных SQL Ознакомьтесь с разделом Неподдерживаемые функции таблиц.
Неподдерживаемые типы данных базы данных SQL Ознакомьтесь с разделом Неподдерживаемые типы данных.
Ограничения хранимых процедур Ознакомьтесь с ограничениями хранимых процедур.
Определяемые пользователем функции не поддерживают инструкции SELECT Это текущее ограничение определяемых пользователем функций. Сведения о поддерживаемом синтаксисе см. в статье, посвященной инструкции CREATE FUNCTION.

Следующие шаги

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