sqlserveragent не запущен поэтому нельзя отправить для него уведомление net sqlclient data provider

Руководство по устранению неполадок с SqlClient

Исключения при подключении к SQL Server

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

Не удалось загрузить нативную библиотеку SNI (указание имени сервера)

Отслеживаемая трассировка стека:

Среди этих целевых объектов только известные и часто используемые целевые объекты Майкрософт. Если внешний инструмент или приложение определяет пользовательские целевые объекты для копирования двоичных файлов, то средства обслуживания инструмента должны определить новые целевые объекты, чтобы обеспечить копирование нативных DLL-библиотек SNI вместе с двоичными файлами Microsoft.Data.SqlClient.dll и доступность таких библиотек при выполнении клиентских приложений.

Отслеживаемая трассировка стека:

Эта ошибка может возникать только в Windows-приложениях. Если это происходит в среде Unix, убедитесь, что приложение создано для среды выполнения UNIX, а не для Windows.

Ошибки нативной функции SNI (не удалось найти PDB)

Отслеживаемая трассировка стека:

Рекомендуемое решение. Убедитесь, что клиентское приложение ссылается на минимальную версию 2.1.0 пакета Microsoft.Data.SqlClient. При использовании EF Core добавьте ссылку на эту версию пакета Microsoft.Data.SqlClient напрямую, чтобы переопределить зависимость.

Ошибки разрешения имени узла

Отслеживаемая трассировка стека:

Возможные причины

В SQL Server не включен протокол TCP или протокол именованных каналов

Рекомендуемое решение. Включите протокол TCP или протокол именованных каналов в экземпляре SQL Server из консоли диспетчера конфигурации SQL Server.

Имя узла неизвестно

Рекомендуемое решение. Убедитесь, что имя узла разрешается в IP-адрес сервера от клиента, в котором инициируется подключение.

Ошибки на этапе входа

Отслеживаемые трассировки стека:

Возможные причины и решения

SQL Server не поддерживает TLS 1.2

Эта ошибка обычно происходит в клиентских средах, таких как контейнеры образов Docker, клиенты Unix или клиенты Windows, где TLS 1.2 является минимальной поддерживаемой версией протокола TLS.

Рекомендуемое решение. Установите последние обновления для поддерживаемых версий SQL Server 1 и убедитесь, что на сервере включен протокол TLS 1.2.

1 Список поддерживаемых версий SQL Server с разными версиями Microsoft.Data.SqlClient см. в статье Жизненный цикл поддержки драйвера SqlClient.

Небезопасное решение. Настройте параметры TLS/SSL в среде образа или клиента Docker для подключения к TLS 1.0.

При подключении к Microsoft.Data.SqlClient версии 2.0 и выше из среды Windows или Linux с использованием TLS 1.0 или TLS 1.1 будет активировано предупреждение системы безопасности, если целевому объекту SQL Server и клиенту не удается согласовать минимальную версию TLS 1.2 при установке соединения: Security Warning: The negotiated is an insecure protocol and is supported for backward compatibility only. The recommended protocol version is TLS 1.2 and later.

Принудительное шифрование SQL Server

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

Рекомендуемое решение. Есть два варианта устранения этой проблемы:

Небезопасное решение. Отключите параметр принудительного шифрования в SQL Server.

Сертификаты TLS/SSL не подписаны с помощью SHA-256 или более поздней версии.

Рекомендуемое решение. Создайте новый сертификат TLS/SSL для сервера, хэш которого подписывается по меньшей мере с помощью алгоритма хэширования SHA-256.

Проблема, вызванная тем, что пул подключений исчерпан

Отслеживаемая трассировка стека:

Возможные причины и решения

Клиентское приложение открывает больше подключений, чем пул соединений может сохранить в текущий момент.

Рекомендуемое решение. Задайте для свойства соединения Max Pool Size большее значение и своевременно закрывайте неиспользуемые подключения.

Обращение в службу поддержки

Если это не помогло устранить проблемы с подключением, вы можете просмотреть сведения о существующих проблемах в репозитории dotnet/sqlclient и при необходимости открыть новую проблему.

Источник

Sqlserveragent не запущен поэтому нельзя отправить для него уведомление net sqlclient data provider

Общие обсуждения

Операционная система Windows 2088 R2.

SQL Server 2008 R2 Enterprise.

Проблема. Непонятно с какой стати стал отрубаться SQL Agent. В логах системы вот такая ошибка

Порылся в системе и обнаружил что в ветке реестра HKLM-SOFTWARE-MICROSOFT-WINDOWS NT-PERFLIB-009 и HKLM-SOFTWARE-MICROSOFT-WINDOWS NT-PERFLIB-019 кроме значения «По умолчанию» ничего нет.

Вот тут нашел, что нужно перестроить счетчики командой lodctr /R
Счетчики перестраиваются, значения в ветках реестра появляются но агент не запускается.
Через какое-то время значения в ветках реестра опять исчезают.

Что делать? Как исправить проблему?
Пока не запустится агент, планы обслуживания не будут работать 🙁

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

Все ответы

Во-первых проверьте учетную запись службы агента SQL Server. Для проверки временно поменяйте В SQL Server Configuration Manager (примите за правило изменять что-то надо именно здесь) в Log on as Local System. Start Mode должен быть Automatic.

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

Разрешение на вход в систему в качестве службы во всех версиях Windows (SeServiceLogonRight)

Кроме того,учетная запись, от которой запускается служба агента SQL Server, должна быть членом следующих ролей SQL Server:

Читайте также:  Как набирать цефтриаксон с лидокаином

Учетная запись должна быть членом предопределенной роли сервера sysadmin.

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

Служба агента запускается от имени доменного админа.

У данной учетной записи имеются разрешения sysadmin и public.

Знаю, что это неправильно,но это уже жест отчаяния. А вообще имеется отдельная учетная запись для агента.

Открыл SQL Server Configuration Manager. Поменял запуск SQL Agent.

Теперь он запускается от имени domain/sqlserveragent.

У данной учетной записи имеются разрешения sysadmin и public.

Служба вылетела в ошибку

«Ошибка запроса, или служба не ответила на запрос в течение отведенного времени. См. журнал событий или соответствующие журналы ошибок».

В журнале ошибок ничего нет.

Открыл SSMS—>Журнал SQL Server

Помогите пожалуйста решить эту проблему, не бросайте пожалуйста.

Запустил SQL Agent как «Локальная Система». Удивлен.

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

Так куда дальше копать, коллеги?

Здравствуйте,
Посмотрите, если нижеуказанный хотфикс пригодится:

Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется «как есть» без каких-либо гарантий.

Если хотфикс не помог, проверьте кое-что:

Вы изменили запуск службы SQL Server Agent от имени «Локальная Система» в SSCM. Для проверки сделайте это и для службы SQL Server.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\SQLServerAgent]

в ErrorLogFile должно быть что-то вроде C:\\Program Files\\Microsoft SQL Server\\MSSQL10_50.MSSQLSERVER\\MSSQL\\Log\\SQLAGENT.OUT

Если такой папки нет или Лог файл лежит в другом месте внесите соответствующие изменения.

Источник

Служба SQL Server и служба SQL Server агентов не могут запуститься на автономный сервер

В этой статье вы можете устранить проблемы, SQL Server службы и службы агентов SQL Server может не запускаться на автономный сервер.

Оригинальная версия продукта: SQL Server
Исходный номер КБ: 307288

Симптомы

Выпуск 1. На автономных серверах служба MSSQLSERVER может не запуститься, и вы получите следующее сообщение об ошибке:

Ошибка 1068 ( служба зависимостей или группа не удалось запустить.) произошла при выполнении этой операции службы в службе MSSQLServer.

Выпуск 2. Кроме того, служба SQLServerAgent также может не запуститься, и вы получите следующее сообщение об ошибке:

Ошибка 1068 ( служба зависимостей или группа не удалось запустить.) произошла при выполнении этой операции службы в службе SQLServerAgent.

Выпуск 1 и выпуск 2 возникают, когда оба следующих условия являются верными:

Выпуск 3. На сервере участника домена служба MSSQLSERVER может не запускаться во время запуска сервера, и вы получите следующее сообщение об ошибке:

Служба MSSQLSERVER не смогла войти в систему в качестве домена\mssqlsvc с настроенным паролем из-за следующей ошибки: Source: NetLogon Description. В настоящее время нет серверов логотипов, доступных для обслуживания запроса на логотип. Служба MSSQLSERVER неожиданно завершилась.

Эта проблема возникает, когда все следующие условия верны:

Причина

Проблема 1 и выпуск 2 возникает из-за того, что сервер является автономным компьютером, служба NetLogon не запускается на сервере, поэтому проверки подлинности на всей доменной основе невозможно.

Проблема 3 возникает из-за SQL Server службы перед запуском службы NetLogon.

Решение

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

Измените учетную запись запуска msSQLSERVER и SQLServerAgent для использования учетной записи локальной системы.

Чтобы устранить проблему 3, используйте следующие обходные пути:

Настройте запуск SQL Server на отложенный запуск для определенных Windows серверов, другие Windows, такие как NetLogon, сначала завершают и SQL Server без проблем.

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

Измените значение Обнаружения дублирующих адресов (-DadTransmits) до 1 для всех сетевых интерфейсов на сервере. Дополнительные сведения см. в командной ленте Set-NetIPInterface.

Измените параметры восстановления для SQL Server и SQL Server агентов. Укажите перезапуск службы в качестве действия для параметров сбоя. Вы можете выполнить этот параметр из applet служб административных инструментов с помощью знакомых интерфейсов диспетчера управления службами.

Если отложенный вариант запуска не может исправить этот выпуск 3, вы можете добавить в службу SQL Server следующие зависимости:

Можно добавить зависимости, используя следующую команду:

Дополнительные сведения

На автономных компьютерах службу NetLogon следует настроить для ручного запуска.

Источник

Устранение неполадок при соединении с ядром СУБД SQL Server.

В этой статье описаны методы поиска и устранения неполадок, при которых не удается подключиться к экземпляру ядра СУБД SQL Server на отдельном сервере.

Для других сценариев см. такие материалы:

Эти инструкции не входят в процедуры решения наиболее вероятных проблем, так как, скорее всего, вы уже пробовали выполнить эти процедуры. Сначала указываются шаги по устранению базовых ошибок, а затем рассматриваются более сложные вопросы. При выполнении этих действий предполагается, что вы подключаетесь к экземпляру SQL Server с другого компьютера по протоколу TCP/IP, так как этот вариант является наиболее распространенным.

Эти инструкции предназначены для устранения неполадок, связанных с ошибкой «Подключение к серверу» (например, Error Number: 11001 (or 53), Severity: 20, State: 0 ). В следующем примере показано сообщение об ошибке:

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.

Эта ошибка обычно означает, что клиенту не удается найти экземпляр SQL Server. Обычно это происходит при наличии хотя бы одной из следующих проблем:

Читайте также:  Тоже что и провидец кроссворд

Интерактивную страницу по устранению неполадок можно найти на сайте службы технической поддержки Microsoft на странице Solving Connectivity errors to SQL Server (Устранение ошибок подключения к SQL Server).

Ошибки, не описанные в статье

Получение имени экземпляра из диспетчера конфигурации

На сервере, на котором размещен экземпляр SQL Server, проверьте имя экземпляра. Используйте диспетчер конфигурации SQL Server.

Диспетчер конфигурации автоматически устанавливается на компьютер при установке SQL Server. Инструкции по запуску диспетчера конфигурации могут незначительно отличаться в зависимости от версии SQL Server и Windows. Подробные сведения об определенных версиях см. в статье Диспетчер конфигурации SQL Server.

Войдите на компьютер, на котором размещен экземпляр SQL Server.

Запустите диспетчер конфигурации SQL Server.

На левой панели выберите Службы SQL Server.

На правой панели проверьте имя экземпляра ядра СУБД.

Проверка выполнения экземпляра

Проверить, выполняется ли экземпляр, позволяет значок около экземпляра SQL Server в диспетчере конфигурации.

Если экземпляр остановлен, щелкните его правой кнопкой мыши и выберите команду Запустить. Экземпляр будет запущен, и красный квадрат поменяется на зеленую стрелку.

Убедитесь, что служба обозревателя SQL Server запущена

Чтобы подключиться к именованному экземпляру, нужно запустить службу обозревателя SQL Server. В диспетчере конфигурации найдите службу Обозреватель SQL Server и проверьте, запущена ли она. Если она не работает, запустите ее. Служба обозревателя SQL Server не требуется для экземпляров по умолчанию.

Экземпляр SQL Server по умолчанию не требует службы «Обозреватель SQL Server».

Тестирование локального подключения

Перед устранением неполадки, связанной с подключением с другого компьютера, нужно проверить возможность подключения из клиентского приложения, установленного локально на компьютере, на котором запущен SQL Server. Локальное подключение позволяет избежать проблем, связанных с сетями и брандмауэрами.

Войдите на компьютер, на котором установлен SQL Server, с помощью имени входа с разрешением на доступ к SQL Server. (Во время установки для SQL Server требуется задать по меньшей мере одно имя входа в качестве администратора SQL Server. Если администратор неизвестен, см. сведения в статье Подключение к SQL Server в случае, если доступ системных администраторов заблокирован.)

На начальной странице введите SQL Server Management Studio. В более старых версиях Windows в меню «Пуск» выберите Все программы, Microsoft SQL Server, а затем щелкните SQL Server Management Studio.

В диалоговом окне Соединение с сервером в списке Тип сервера выберите Ядро СУБД. В поле Проверка подлинности выберите Проверка подлинности Windows. В поле Имя сервера задайте один из следующих типов подключения:

Подключение к Тип Пример
Экземпляр по умолчанию ACCNT27
Именованный экземпляр ACCNT27\PAYROLL

При подключении к SQL Server из клиентского приложения на том же компьютере используется протокол общей памяти. Общая память — это тип локального именованного канала, поэтому иногда возникают ошибки, связанные с каналами.

Если на этом этапе происходит ошибка, ее необходимо устранить перед продолжением работы. Существует целый ряд потенциальных проблем. Имя входа может не иметь разрешений для подключения. Может отсутствовать база данных по умолчанию.

В некоторых сообщениях об ошибках, передаваемых клиенту, намеренно не приведены достаточные сведения для устранения неполадок. Это связано с обеспечением безопасности, так как в этом случае злоумышленник не может получить данные о SQL Server. Чтобы просмотреть полные сведения об ошибке, обратитесь к журналу ошибок SQL Server. Там вы найдете все подробности.

Если соединение устанавливается с помощью общей памяти, проверьте его с использованием TCP. Вы можете принудительно задать TCP-подключение, указав tcp: перед именем. Пример:

Подключение к Тип: Пример
Экземпляр по умолчанию tcp: tcp:ACCNT27
Именованный экземпляр tcp: tcp:ACCNT27\PAYROLL

Если соединение устанавливается с помощью общей памяти, но не TCP, необходимо устранить проблему с TCP. Скорее всего, проблема в том, что TCP-протокол отключен. Сведения о включении TCP см. в разделе Включение протоколов выше.

Если вы хотите установить соединение с использованием учетной записи, отличной от учетной записи администратора, после соединения с правами администратора повторите попытку, используя имя входа для проверки подлинности Windows или имя входа для проверки подлинности SQL Server, которое использует клиентское приложение.

Получение IP-адреса сервера

Получите IP-адрес компьютера, на котором размещен экземпляр SQL Server.

Получение данных о номере TCP-порта для экземпляра SQL Server

В большинстве случаев соединение с ядром СУБД SQL Server с другого компьютера устанавливается по протоколу TCP.

Сообщение означает, что этот экземпляр SQL Server прослушивает все IP-адреса на этом компьютере (для IP-протокола версии 4) и TCP-порт 1433. (TCP-порт 1433 — это порт, обычно используемый ядром СУБД или экземпляром SQL Server по умолчанию. Использовать определенный порт может только один экземпляр SQL Server. Поэтому, если установлено несколько экземпляров SQL Server, некоторые из них должны работать с другими номерами портов.) Запишите номер порта для того экземпляра SQL Server, к которому вы пытаетесь подключиться.

Включение протоколов

В некоторых установках SQL Server соединение с компонентом Database Engine с другого компьютера по умолчанию отключено, если администратор не включил его с помощью диспетчера конфигурации. Чтобы разрешить соединения с других компьютеров, нужно выполнить указанные ниже действия.

Тестирование подключения TCP/IP

В меню «Пуск» щелкните Выполнить. В окне Выполнить введите cmd, а затем нажмите кнопку ОК.

В окне командной строки введите ping и IP-адрес компьютера, на котором запущен SQL Server. Пример:

Открытие порта в брандмауэре

По умолчанию брандмауэр Windows включен и блокирует подключения с других компьютеров. Чтобы подключиться с использованием протокола TCP/IP с другого компьютера, на компьютере SQL Server необходимо настроить брандмауэр для разрешения подключений к TCP-порту, используемому компонентом Database Engine. Экземпляр по умолчанию прослушивает по умолчанию TCP-порт 1433. Если запущены именованные экземпляры или вы изменили значение по умолчанию, TCP-порт SQL Server может прослушивать другой порт. См. раздел Получение данных о номере TCP-порта для экземпляра SQL Server.

При подключении к именованному экземпляру или порту, отличному от TCP-порта 1433, необходимо также открыть UDP-порт 1434 для службы обозревателя SQL Server. Пошаговые инструкции по открытию портов в брандмауэре Windows см. в статье Настройка брандмауэра Windows для доступа к компоненту Database Engine.

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

После того как появилась возможность соединения с использованием TCP на том же компьютере, нужно проверить подключение с клиентского компьютера. Теоретически можно использовать любое клиентское приложение, но чтобы избежать дополнительных сложностей, установите средства управления SQL Server на клиентском компьютере и попытайтесь запустить среду SQL Server Management Studio.

Обе эти проблемы связаны со службой обозревателя SQL Server, которая предоставляет клиенту номер порта. Далее приводятся возможные решения.

Источник

Sqlserveragent не запущен поэтому нельзя отправить для него уведомление net sqlclient data provider

Общие обсуждения

Операционная система Windows 2088 R2.

SQL Server 2008 R2 Enterprise.

Проблема. Непонятно с какой стати стал отрубаться SQL Agent. В логах системы вот такая ошибка

Порылся в системе и обнаружил что в ветке реестра HKLM-SOFTWARE-MICROSOFT-WINDOWS NT-PERFLIB-009 и HKLM-SOFTWARE-MICROSOFT-WINDOWS NT-PERFLIB-019 кроме значения «По умолчанию» ничего нет.

Вот тут нашел, что нужно перестроить счетчики командой lodctr /R
Счетчики перестраиваются, значения в ветках реестра появляются но агент не запускается.
Через какое-то время значения в ветках реестра опять исчезают.

Что делать? Как исправить проблему?
Пока не запустится агент, планы обслуживания не будут работать 🙁

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

Все ответы

Во-первых проверьте учетную запись службы агента SQL Server. Для проверки временно поменяйте В SQL Server Configuration Manager (примите за правило изменять что-то надо именно здесь) в Log on as Local System. Start Mode должен быть Automatic.

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

Разрешение на вход в систему в качестве службы во всех версиях Windows (SeServiceLogonRight)

Кроме того,учетная запись, от которой запускается служба агента SQL Server, должна быть членом следующих ролей SQL Server:

Учетная запись должна быть членом предопределенной роли сервера sysadmin.

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

Служба агента запускается от имени доменного админа.

У данной учетной записи имеются разрешения sysadmin и public.

Знаю, что это неправильно,но это уже жест отчаяния. А вообще имеется отдельная учетная запись для агента.

Открыл SQL Server Configuration Manager. Поменял запуск SQL Agent.

Теперь он запускается от имени domain/sqlserveragent.

У данной учетной записи имеются разрешения sysadmin и public.

Служба вылетела в ошибку

«Ошибка запроса, или служба не ответила на запрос в течение отведенного времени. См. журнал событий или соответствующие журналы ошибок».

В журнале ошибок ничего нет.

Открыл SSMS—>Журнал SQL Server

Помогите пожалуйста решить эту проблему, не бросайте пожалуйста.

Запустил SQL Agent как «Локальная Система». Удивлен.

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

Так куда дальше копать, коллеги?

Здравствуйте,
Посмотрите, если нижеуказанный хотфикс пригодится:

Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется «как есть» без каких-либо гарантий.

Если хотфикс не помог, проверьте кое-что:

Вы изменили запуск службы SQL Server Agent от имени «Локальная Система» в SSCM. Для проверки сделайте это и для службы SQL Server.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\SQLServerAgent]

в ErrorLogFile должно быть что-то вроде C:\\Program Files\\Microsoft SQL Server\\MSSQL10_50.MSSQLSERVER\\MSSQL\\Log\\SQLAGENT.OUT

Если такой папки нет или Лог файл лежит в другом месте внесите соответствующие изменения.

Источник

Читайте также:  чем полезна иголки ели
Портал про кино и шоу-биз