Устранение неполадок подключения и других ошибок Базы данных SQL Azure и Управляемого экземпляра SQL Azure
Вы получаете сообщения об ошибках при сбое подключения к базе данных SQL Azure или управляемому экземпляру SQL Azure. Эти проблемы подключения могут быть вызваны изменением конфигурации, настроек брандмауэра, истечением времени ожидания подключения, неверными сведениями для входа или несоблюдением рекомендаций и инструкций по разработке в процессе разработки приложения . Кроме того, при достижении максимального объема по некоторым ресурсам для баз данных SQL Azure или управляемого экземпляра SQL, вы больше не сможете подключаться.
Сообщения о временных ошибках (40197, 40613 и др.)
Инфраструктура Azure способна динамически изменять конфигурацию серверов при высокой рабочей нагрузке на службу баз данных SQL. Такое динамическое поведение может привести к разрыву подключения между клиентской программой и базой данных или экземпляром. Такое состояние называется временной ошибкой. События перенастройки базы данных обычно происходят в запланированном случае (например, при обновлении программного обеспечения) или в незапланированном случае (например, при сбое процесса или балансировке нагрузки). Большей частью события перенастройки кратковременные и должны завершаться в течение 60 секунд максимум. Тем не менее завершение этих событий иногда может занимать больше времени, например когда большая транзакция приводит к длительному восстановлению. В следующей таблице перечислены различные временные ошибки, которые могут отображаться в приложениях при подключении к Базе данных SQL Azure.
Список кодов ошибок для временных сбоевКод ошибки Severity Описание 926 14 Невозможно открыть базу данных replicatedmaster. Она была отмечена как подозрительная (SUSPECT) операцией восстановления. Дополнительные сведения см. в журнале ошибок SQL Server.
Эта ошибка возникает, если служба не работает по причине обновления программного или аппаратного обеспечения, аппаратных ошибок или проблем при отработке отказа. Код ошибки (%d), указанный в сообщении об ошибке 40197, содержит дополнительные сведения о характере сбоя или отработки отказа. В сообщении об ошибке 40197 может быть указан код ошибки 40020, 40143, 40166 или 40540.
Входы SQL используют кэш в памяти для сопоставления имен и идентификаторов баз данных. Кэш должен быть синхронизирован с внутренней базой данных и обновляться при каждом подключении базы данных к экземпляру сервера SQL и при каждом отключении от него. Вы получаете эту ошибку, если рабочий процесс отключения не очищает вовремя кэш в памяти, и из-за этого последующие операции поиска возвращают устаревший идентификатор базы данных.
Порядок устранения временных проблем подключения- Проверьте панель мониторинга служб Microsoft Azure на наличие каких-либо известных сбоев, произошедших в то время, когда приложение сообщало об ошибках.
- Приложения, подключающиеся к облачной службе, такой как база данных SQL Azure, должны ожидать периодические события перенастройки и реализовывать логику повторов для обработки этих ошибок, а не отображать ошибки приложения пользователям.
- Если база данных близка к исчерпанию доступных ресурсов, может возникать временная проблема подключения. Дополнительные сведения см. в статье Обзор ограничений ресурсов базы данных SQL Azure.
- Если проблемы подключения остаются или интервал, во время которого приложение обнаруживает ошибку, превышает 60 секунд, а также если в определенный день такая ошибка возникает многократно, зарегистрируйте запрос на поддержку Azure, нажав Получить поддержку на сайте Поддержка Azure .
Настоятельно рекомендуем включить в клиентской программе логику повторных попыток, чтобы программа смогла восстановить подключение после определенного периода, позволяющего временной ошибке самоустраниться. Рекомендуется подождать 5 секунд, прежде чем выполнять первую повторную попытку. Повторная попытка после ожидания менее 5 секунд может привести к перегрузке облачной службы. Для каждой последующей повторной попытки ожидание должно увеличиваться экспоненциально, но не более чем до 60 секунд.
Примеры кода с логикой повторных попыток см. в следующих статьях:
Дополнительные сведения об обработке временных ошибок в приложении см. в статье Устранение временных ошибок подключения к базе данных SQL
Обсуждение периода блокировки для клиентов, которые используют ADO.NET, см. в статье Организация пулов соединений (ADO.NET).
При установке соединения с вашим сервером возникла ошибка, связанная с сетью или экземпляром.
Эта проблема возникает в том случае, если приложению не удается подключиться к серверу.
Чтобы устранить эту проблему, попробуйте выполнить действия (в указанном порядке), описанные в разделе Инструкции по устранению распространенных неполадок с подключением.
Сервер/экземпляр не найден или недоступен (ошибки 26, 40, 10053)
Ошибка 26: ошибка при поиске указанного сервераSystem.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.(provider: SQL Network Interfaces, error: 26 – Error Locating Server/Instance Specified)
Ошибка 40: невозможно открыть соединение с сервером.A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
Ошибка 10053: ошибка на транспортном уровне при получении результатов с сервера10053: A transport-level error has occurred when receiving results from the server. (Provider: TCP Provider, error: 0 - An established connection was aborted by the software in your host machine)
Эти проблемы возникают в том случае, если приложению не удается подключиться к серверу.
Чтобы устранить эти проблемы, попробуйте выполнить действия (в указанном порядке), описанные в разделе Инструкции по устранению распространенных неполадок с подключением.
Не удается подключиться к серверу из-за проблем с брандмауэром
Ошибка 40615: не удается подключиться к серверу < имя сервера > Ошибка 5: не удается подключиться к серверу < имя сервера >Чтобы устранить эту ошибку, откройте порт 1433 для исходящих соединений на всех брандмауэрах между клиентом и Интернетом.
Не удалось войти на сервер (ошибки 18456, 40531)
Пользователю '< имя_пользователя>' не удалось войти в системуLogin failed for user '<User name>'.This session has been assigned a tracing ID of '<Tracing ID>'. Provide this tracing ID to customer support when you need assistance. (Microsoft SQL Server, Error: 18456)
Чтобы устранить эту проблему, обратитесь к администратору служб, чтобы он дал вам допустимое имя пользователя и пароль.
Как правило, администратор службы может выполнить следующие действия, чтобы добавить данные для входа:
Войдите на сервер с помощью SQL Server Management Studio (SSMS).
Отправьте следующий SQL-запрос в базе данных master , чтобы проверить, отключено ли имя для входа:
Если имя отключено, включите его с помощью следующей инструкции:
Если имя пользователя для входа SQL не существует, внесите изменения и отправьте следующий SQL-запрос, чтобы создать новое имя входа SQL:
В обозревателе объектов SSMS разверните узел Базы данных.
Выберите базу данных, на доступ к которой пользователю нужно предоставить разрешение.
Щелкните правой кнопкой мыши значок Безопасность, а затем выберите Новый, Пользователь.
В созданном скрипте с заполнителями (пример показан ниже) замените параметры шаблона, выполнив действия, описанные здесь, и запустите его:
Также можно использовать sp_addrolemember , чтобы сопоставить данные определенных пользователей с конкретными ролями базы данных.
В базе данных SQL Azure рассмотрите новый синтаксис ALTER ROLE для управления членством в роли базы данных.
Ошибки, связанные с истечением времени ожидания подключения.
System. Data. SqlClient. SqlException (0x80131904): время ожидания подключения истеклоSystem.Data.SqlClient.SqlException (0x80131904): Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=3; handshake=29995;
System. Data. SqlClient. SqlException (0x80131904): время ожидания истеклоSystem.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
System.Data.Entity.Core.EntityException: произошла ошибка базового поставщика при открытииSystem.Data.Entity.Core.EntityException: The underlying provider failed on Open. -> System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. -> System.ComponentModel.Win32Exception: The wait operation timed out
Не удается подключиться к серверу < имя_сервера >Cannot connect to <server name>.ADDITIONAL INFORMATION:Connection Timeout Expired. The timeout period elapsed during the post-login phase. The connection could have timed out while waiting for server to complete the login process and respond; Or it could have timed out while attempting to create multiple active connections. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=231; handshake=983; [Login] initialization=0; authentication=0; [Post-Login] complete=13000; (Microsoft SQL Server, Error: -2) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=-2&LinkId=20476 The wait operation timed out
Такие исключения могут возникать из-за проблем с подключением или запросами. Чтобы убедиться, что эта ошибка вызвана проблемами подключения, см. статью Проверьте, вызвана ли ошибка проблемой подключения.
Ошибки, связанные с истечением времени ожидания подключения, возникают из-за того, что приложению не удается подключиться к серверу. Чтобы устранить эту проблему, попробуйте выполнить действия (в указанном порядке), описанные в разделе Инструкции по устранению распространенных неполадок с подключением.
Ошибки управления ресурсами
Благодаря реализации системы управления ресурсами, основанной на Resource Governor, в Базе данных SQL Azure применяются ограничения ресурсов. См. подробные сведения об управлении ресурсами в Базе данных SQL Azure.
Сначала перечислены самые распространенные ошибки системы управления ресурсами с подробными сведениями. Затем следуют сообщения об ошибках системы управления ресурсами.
Ошибка 10928: идентификатор ресурса: 1. Предел запросов для базы данных составляет %d, и он достигнут.Подробное сообщение об ошибке в этом случае выглядит так: Resource ID : 1. The request limit for the database is %d and has been reached. See 'http://go.microsoft.com/fwlink/?LinkId=267637' for assistance. .
Это сообщение об ошибке указывает на то, что достигнуто предельное ограничение Базы данных SQL Azure на рабочие роли. Вместо заполнителя %d будет установлено значение. Это значение указывает на предельное количество рабочих ролей в момент достижения ограничения.
В первоначальном предложении для Базы данных SQL Azure поддерживались только запросы с одним потоком. В то время число запросов всегда было равнозначно числу рабочих ролей. Сообщение об ошибке 10928 в Базе данных SQL Azure содержит текст "The request limit for the database is N and has been reached" (Достигнуто предельное количество запросов к базе данных: N) для поддержки обратной совместимости. Фактически, достигнутое ограничение представляет собой число рабочих ролей. Если параметр максимальной степени параллелизма (MAXDOP) равен нулю или больше единицы, число рабочих ролей может быть значительно больше числа запросов, а ограничение может быть достигнуто гораздо раньше, чем когда значение MAXDOP равно 1.
Установка выделенного подключения администратора (DAC) (при необходимости)Если в текущий момент происходит инцидент достижения предельного числа рабочих ролей или приближения к этому пределу, может поступить сообщение об ошибке 10928, когда вы подключаетесь с использованием SQL Server Management Studio (SSMS) или Azure Data Studio. Установка подключения диагностики для администраторов баз данных (DAC) для одного сеанса возможна даже при достижении максимального порога для рабочих ролей.
Подключение с использованием DAC из SSMS:
- В меню выберите элементы Файл Создать > Запрос ядра СУБД.
- В диалоговом окне подключения в поле "Имя сервера" введите admin:<fully_qualified_server_name> (формат будет приблизительно таким: admin:servername.database.windows.net ).
- Выберите элемент Параметры .
- Выберите вкладку Свойства подключения.
- В поле Подключение к базе данных: введите имя базы данных.
- Выберите Подключиться.
Если вы получили сообщение об ошибке 40613 Database '%.*ls' on server '%.*ls' is not currently available. Please retry the connection later. If the problem persists, contact customer support, and provide them the session tracing ID of '%.*ls' , это может означать, что к DAC уже подключен другой сеанс. К DAC за раз можно подключать только один сеанс для отдельной базы данных или эластичного пула.
Если после выбора элемента Подключиться поступает сообщение об ошибке "Failed to connect to server" (Не удалось подключиться к серверу), возможно, сеанс DAC все же успешно установлен, если вы используете версию SSMS, предшествующую 18.9. В ранних версиях SSMS выполнялась попытка предоставить Intellisense для подключений к DAC. Это не удавалось сделать, так как DAC поддерживает только одну рабочую роль, а Intellisense требуется отдельная рабочая роль.
Подключение к DAC нельзя использовать в обозревателе объектов.
Просмотр сведений об использовании max_worker_percentЧтобы найти статистику потребления ресурсов для базы данных за 14 дней, подайте запрос к представлению каталога системы sys.resource_stats. В столбце max_worker_percent показано количество используемых рабочих ролей относительно предельного количества рабочих ролей для вашей базы данных. Подключитесь к базе данных master на логическом сервере, чтобы запросить .
Кроме того, вы можете запросить статистику по потреблению ресурсов за последний час в динамическом административном представлении sys.dm_db_resource_stats. Подключитесь непосредственно к своей базе данных, чтобы запросить sys.dm_db_resource_stats .
Снижение показателя использования рабочих ролей при возможностиБлокирование цепочек может привести к внезапному увеличению количества рабочих ролей в базе данных. Большое количество одновременных параллельных запросов может привести к использованию большого количества рабочих ролей. Увеличив максимальный уровень параллелизма (MAXDOP) или установив нулевой уровень MAXDOP, можно увеличить число активных рабочих ролей.
Рассмотрите инцидент недостаточного числа рабочих ролей, следуя этим инструкциям:
Определите, есть ли блокировка или большое число одновременно используемых рабочих ролей. Чтобы изучить текущие запросы и проверить, нет ли блокировки, когда из базы данных поступает сообщение об ошибке 10928, выполните следующий запрос. Возможно, для выполнения запроса вам потребуется выделенное подключение администратора (DAC).
Выполните поиск строк с blocking_session_id , чтобы определить заблокированные сеансы. Найдите каждый blocking_session_id в списке, чтобы определить, заблокирован ли также этот сеанс. В конечном итоге это приведет вас к главной причине блокировки. Настройка запроса по главной причине блокировки.
Дополнительные сведения об устранении неполадок, связанных с длительным выполнением ил блокировкой запросов, см. в статье Изучение и устранение проблем блокировок в Базе данных SQL Azure.
Чтобы выявить большое количество одновременно используемых рабочих ролей, просмотрите общее количество запросов и столбец worker_count для каждого запроса. Worker_count — это количество рабочих ролей на выборку времени, которые со временем могут изменяться по мере выполнения запроса. Настройте запросы, чтобы уменьшить показатель использования ресурсов, если причина увеличения количества рабочих ролей заключается в параллельных запросах, которые работают на оптимальном уровне параллелизма. Дополнительные сведения см. в разделе Настройка запросов и указания на них.
Увеличение предельных значений числа рабочих ролейЕсли в базе данных постоянно достигается предел, несмотря на устранение блокировки, оптимизацию запросов и проверку параметра MAXDOP, можно добавить в базу данных дополнительные ресурсы, чтобы увеличить предельное значение числа рабочих ролей.
Сведения об ограничениях ресурсов с учетом уровня служб и объема вычислительных ресурсов см. в следующих статьях:
Ошибка 10929: идентификатор ресурса: 110929: Resource ID: 1. The %s minimum guarantee is %d, maximum limit is %d and the current usage for the database is %d. However, the server is currently too busy to support requests greater than %d for this database. See http://go.microsoft.com/fwlink/?LinkId=267637 for assistance. Otherwise, please try again later.
Ошибка 40501: служба сейчас перегружена40501: The service is currently busy. Retry the request after 10 seconds. Incident ID: %ls. Code: %d.
Это ошибка регулирования ресурсов ядра, которая указывает на превышение ограничений по ресурсам.
Дополнительные сведения об ограничениях ресурсов см. в статье Ограничения ресурсов логического сервера SQL.
Ошибка 40544: база данных достигла предельного размера40544: The database has reached its size quota. Partition or delete data, drop indexes, or consult the documentation for possible resolutions. Incident ID: <ID>. Code: <code>.
Эта ошибка возникает в тех случаях, когда база данных достигает предельного размера.
Следующие инструкции помогут вам решить эту проблему или получить больше возможностей:
Проверьте текущий размер базы данных с помощью панели мониторинга на портале Azure.
Чтобы узнать, какие таблицы потребляют наибольшее пространство, и, следовательно, являются потенциальными претендентами на очистку, отправьте следующий SQL-запрос:
Если текущий размер не превышает максимальный размер, предусмотренный в данном выпуске, можно увеличить значение параметра MAXSIZE при помощи функции ALTER DATABASE.
Если размер базы данных уже превышает максимальный поддерживаемый выпуском размер, попробуйте выполнить одно или несколько из следующих действий:
- Выполните обычные действия по очистке базы данных. Например, можно очистить ненужные данные с помощью функции усечения/ удаления или переместить данные при помощи служб SQL Server Integration Services (SSIS) или программы для массового копирования (bcp).
- Секционируйте или удалите данные, удалите индексы или попробуйте найти возможное решение в документации.
- Сведения о масштабирования баз данных см. в статье Масштабирование ресурсов отдельной базы данных и Масштабирование ресурсов эластичного пула.
40549: Session is terminated because you have a long-running transaction. Try shortening your transaction.
Если эта ошибка повторяется, попробуйте устранить проблему, выполнив описанные ниже действия.
Выполните следующий запрос, чтобы получить сведения об открытых сеансах, имеющих высокое значение в столбце duration_ms :
Вы можете игнорировать строки, в которых столбец input_buffer отображает запроса из sys.fn_MSxe_read_event_stream . Эти запросы связаны с расширенными сеансами событий.
Просмотрите столбец blocking_session_id , чтобы узнать, влияет ли блокировка на долгосрочные транзакции.
Дополнительные сведения об устранении неполадок с блокировкой в базе данных SQL Azure см. в статье Изучение и устранение проблем с блокировкой в базе данных SQL Azure.
Кроме того, рекомендуем выполнить пакетную обработку запросов. Сведения о пакетной обработке см. в статье Как повысить производительность приложений базы данных SQL с помощью пакетной обработки.
Ошибка: 40551: сеанс был завершен в связи с чрезмерным использованием базы данных TEMPDB.40551: The session has been terminated because of excessive TEMPDB usage. Try modifying your query to reduce the temporary table space usage.
Чтобы устранить эту проблему, выполните следующие действия:
- Измените запросы, чтобы уменьшить использование временного пространства таблицы.
- Удалите временные объекты, которые вам уже не нужны.
- Выполните усечение таблиц или удалите неиспользуемые таблицы.
40552: The session has been terminated because of excessive transaction log space usage. Try modifying fewer rows in a single transaction.
Устранить эту проблему можно с помощью следующих методов.
Эта проблема может возникать из-за операций вставки, обновления или удаления. Попробуйте сократить количество строк, которые обрабатываются непосредственно, выполнив пакетную обработку или разделение на несколько меньших транзакций.
Эта проблема может возникать из-за операций перестроения индекса. Чтобы решить эту проблему, убедитесь, что число затронутых строк в таблице * (средний размер обновляемого поля в байтах + 80) составляет < 2 гигабайт (ГБ).
Для перестроения индекса средний размер обновляемого поля должен быть заменен средним размером индекса.
Дополнительные сведения для устранения ошибки на основании полного журнала транзакций в Базе данных SQL Azure и Управляемом экземпляре SQL Azure см. в статье Устранение ошибок журнала транзакций в Базе данных SQL Azure и Управляемом экземпляре SQL Azure.
Ошибка 40553: сеанс был завершен в связи с чрезмерным использованием памяти40553: The session has been terminated because of excessive memory usage. Try modifying your query to process fewer rows.
Чтобы устранить эту проблему, попробуйте оптимизировать запрос.
Подробное описание процедуры устранения неполадок см. в статье Правильно ли работает мой запрос в облаке?
Дополнительные сведения о других ошибках, связанных с нехваткой памяти, и примеры запросов об ошибке в памяти см. в Устранение ошибок нехватки памяти в базе данных Azure SQL.
Таблица сообщений об ошибках управления ресурсамиКод ошибки Severity Описание 10928 20 Идентификатор ресурса: %d. Предел %s для базы данных составляет %d, и он достигнут. Дополнительные сведения см. в статье http://go.microsoft.com/fwlink/?LinkId=267637.
Идентификатор ресурса указывает на ресурс, предел которого был достигнут. Если идентификатор ресурса = 1, это означает, что достигнуто предельное количество рабочих ролей. Дополнительные сведения см. в разделе Ошибка 10928: идентификатор ресурса: 1. Предел запросов для базы данных составляет %d, и он достигнут. Если идентификатор ресурса 2, значит, достигнуто ограничение количества сеансов.
Ошибки пула эластичных БД
Приведенные ниже ошибки связаны с созданием и использованием эластичных пулов.
Код ошибки Severity Описание Действие по исправлению 1132 17 Хранилище эластичного пула достигло своего предельного значения. Уровень использования хранилища для эластичного пула не может превышать (%d) МБ. Попытка записи данных в базу данных, когда было достигнуто предельное значение хранилища эластичного пула. Сведения об ограничениях ресурсов см. в статьях: • Ограничения на основе DTU для пулов эластичных баз данных• Ограничения на основе виртуального ядра для пулов эластичных баз данных. Если это возможно, попробуйте увеличить DTU эластичного пула и (или) добавить в него пространство хранения для увеличения предельного размера его хранилища, сократить объем памяти, используемой отдельными базами данных в эластичном пуле, или удалить базы данных из пула. Сведения о масштабировании эластичных пулов см. в статье Масштабирование ресурсов эластичного пула. Дополнительные сведения об удалении неиспользуемого пространства из баз данных см. в статье Управление пространством для баз данных в Базе данных SQL Azure. 10929 16 Минимальная гарантия %s составляет %d, максимальное значение равно %d, а текущее использование для базы данных — %d. Тем не менее, в настоящее время сервер слишком занят, чтобы обработать более чем %d запросов для этой базы данных. Сведения об ограничениях ресурсов см. в статьях: • Ограничения на основе DTU для пулов эластичных баз данных• Ограничения на основе виртуального ядра для пулов эластичных баз данных. В противном случае повторите попытку. Минимальное количество DTU или виртуальных ядер на базу данных; максимальное количество DTU или виртуальных ядер на базу данных. Общее количество одновременно используемых рабочих ролей по всем базам данных в эластичном пуле превысило ограничение пула. Если это возможно, попробуйте увеличить DTU или число виртуальных ядер эластичного пула для увеличения предельно допустимого количества работников или удалить базы данных из эластичного пула. 40844 16 База данных '%ls' на сервере '%ls' является базой данных выпуска '%ls' в эластичном пуле и не может иметь связь непрерывной копии. Недоступно 40857 16 Эластичный пул для сервера '%ls' не найден, имя эластичного пула: '%ls'. На указанном сервере указанный эластичный пул не существует. Укажите допустимое имя эластичного пула. 40858 16 Эластичный пул "%ls" на сервере "%ls" уже существует. Указанный эластичный пул уже существует на указанном сервере. Укажите новое имя эластичного пула. 40859 16 Эластичный пул не поддерживает уровень служб '%ls'. Для подготовки эластичного пула указанный уровень служб не поддерживается. Укажите правильный выпуск или оставьте значение уровня служб пустым, чтобы использовать значение по умолчанию. 40860 16 Недопустимая комбинация эластичного пула '%ls' и цели службы '%ls'. Эластичный пул и уровень служб можно указать вместе только в том случае, если тип ресурса задан как ElasticPool. Укажите правильную комбинацию эластичного пула и уровня служб. 40861 16 Выпуск "%.*ls" базы данных не может отличаться от уровня служб пула эластичных БД, который равен "%.*ls". Выпуск базы данных отличается от уровня служб эластичного пула. Не указывайте выпуск базы данных, который отличается от уровня служб эластичного пула. Обратите внимание, что выпуск базы данных указывать не требуется. 40862 16 Если указана цель служб эластичного пула, то необходимо указать имя этого эластичного пула. Цель службы эластичного пула неоднозначно определяет эластичный пул. Если используется цель служб эластичного пула, укажите имя этого эластичного пула. 40864 16 Число DTU для эластичного пула должно составлять по крайней мере (%d) DTU для уровня служб "%.*ls". Попытка задать для эластичного пула DTU, значение которого ниже минимального ограничения. Повторите попытку, установив для эластичного пула DTU, значение которого хотя бы равно минимальному ограничению. 40865 16 Число DTU для эластичного пула не должно превышать (%d) DTU для уровня служб "%.*ls". Попытка задать для эластичного пула DTU, значение которого выше максимального ограничения. Повторите попытку, установив для эластичного пула DTU, значение которого не превышает максимальное ограничение. 40867 16 Максимальное количество DTU на каждую базу данных должно составлять как минимум (%d) для уровня служб "%.*ls". Попытка задать максимальное количество DTU на каждую базу данных ниже поддерживаемого ограничения. Попробуйте использовать уровень служб эластичного пула, который поддерживает желаемый параметр. 40868 16 Максимальное количество DTU на каждую базу данных не должно превышать (%d) для уровня служб "%.*ls". Попытка задать максимальное число DTU на каждую базу данных, которое находится за пределами поддерживаемого ограничения. Попробуйте использовать уровень служб эластичного пула, который поддерживает желаемый параметр. 40870 16 Минимальное количество DTU на каждую базу данных не должно превышать (%d) для уровня служб "%.*ls". Попытка задать минимальное число DTU на каждую базу, которое находится за пределами поддерживаемого ограничения. Попробуйте использовать уровень служб эластичного пула, который поддерживает желаемый параметр. 40873 16 Количество баз данных (%d) и минимальное количество DTU на каждую базу данных (%d) не может превышать DTU эластичного пула (%d). Попытка задать минимальное количество DTU для баз данных в эластичном пуле, превышающее DTU эластичного пула. Попробуйте увеличить количество DTU эластичного пула, уменьшить минимальное количество DTU на каждую базу данных или уменьшить количество баз данных в эластичном пуле. 40877 16 Эластичный пул не может быть удален до тех пор, пока он содержит какую-либо базу данных. Эластичный пул содержит одну или несколько баз данных и не может быть удален. Чтобы удалить эластичный пул, удалите из него базы данных. 40881 16 В эластичном пуле '%.*ls' достигнуто предельное количество баз данных. Предельное количество баз данных не может превышать (%d) для эластичного пула с DTU (%d). Попытка создания или добавления базы данных в эластичный пул, когда было достигнуто предельное количество баз данных эластичного пула. Если это возможно, попробуйте увеличить DTU эластичного пула, чтобы увеличить предельное количество баз данных, или удалить базы данных из эластичного пула. 40889 16 Невозможно уменьшить количество DTU или размер хранилища для эластичного пула '%.*ls', так как недостаточно места в хранилище баз данных. Попытка ограничить размер хранилища эластичного пула, при которой уменьшается размер используемого им хранилища. Попробуйте сократить использование хранилища отдельными базами данных в эластичном пуле или удалить базы данных из пула, чтобы уменьшить количество DTU или размер хранилища. 40891 16 Минимальное число DTU на базу данных (%d) не может превышать максимального числа DTU на базу данных (%d). Попытка задать минимальное число DTU на каждую базу данных, превышающее максимальное число DTU на каждую базу данных. Убедитесь, что минимальное число DTU на базу данных не превышает максимального числа DTU на базу данных. TBD 16 Размер хранилища для отдельной базы данных в эластичном пуле не может превышать максимальный размер, допустимый уровнем служб эластичного пула "%.*ls". Максимальный размер базы данных превышает максимальный размер, допустимый уровнем служб эластичного пула. Укажите максимальный размер базы данных, который находится в пределах ограничений на максимальный размер, допустимый уровнем служб эластичного пула.
Не удается открыть базу данных "master", запрошенную при входе в систему. Не удалось выполнить вход
Эта проблема возникает из-за того, что учетная запись не имеет разрешения на доступ к базе данных master . Но по умолчанию SQL Server Management Studio (SSMS) пытается подключиться к базе данных master .
Проблему можно устранить следующим способом.
На экране входа SSMS выберите Параметры, а затем — Свойства подключения.
В поле Подключение к базе данных введите имя базы данных пользователя по умолчанию в качестве базы данных для входа по умолчанию, а затем выберите Подключить.
Проверьте, вызвана ли ошибка проблемой подключения.
Чтобы проверить, вызвана ли ошибка проблемой подключения, просмотрите трассировку стека для фреймов, показывающих вызовы, чтобы открыть подключение, как показано ниже (обратите внимание на ссылку на класс SqlConnection):
Если исключение срабатывает из-за проблем с запросами, вы увидите стек вызовов, аналогичный приведенному ниже (обратите внимание на ссылку на класс SqlCommand). В этом случае выполните настройку запросов.
Дополнительные рекомендации по точной настройке см. в следующих ресурсах:
Инструкции по устранению распространенных неполадок с подключением
Убедитесь, что протокол TCP/IP включен в качестве клиентского протокола на сервере приложений. Дополнительные сведения см. в статье Настройка клиентских протоколов. На серверах приложений, на которых не установлены средства SQL, убедитесь, что протокол TCP/IP включен, запустив cliconfg.exe (служебная программа SQL Server Client Network).
Проверьте строку подключения приложения, чтобы убедиться, что она настроена правильно. Например, убедитесь, что в строке подключения указан правильный порт (1433) и полное имя сервера. См. статью Получение сведений о подключении.
Попробуйте увеличить значение времени ожидания подключения. Мы рекомендуем устанавливать время ожидания подключения не менее 30 секунд.
Проверьте подключение между сервером приложений и Базой данных SQL Azure с помощью SQL Server Management Studio (SSMS), файла UDL, проверки связи или telnet. Дополнительные сведения см. в статьях Устранение неполадок с подключением и Диагностика проблем с подключением.
На этапе устранения неполадок можно также проверить возможность подключения на другом клиентском компьютере.
Рекомендуется убедиться в том, что логика повторных попыток выполнена. Дополнительные сведения о логике повторных попыток см. в статье Устранение временных сбоев и ошибок подключения к Базе данных SQL.
Если эти действия не помогли устранить проблему, попробуйте собрать дополнительные данные, а затем обратитесь в службу поддержки. Если приложение является облачной службой, включите ведение журнала. Это действие возвращает метку времени ошибки в формате UTC. Кроме того, база данных SQL возвращает идентификатор трассировки. Эти сведения могут использовать службы поддержки пользователей Майкрософт.