Невозможно подключиться к SQL серверу после обновления

Вопрос или проблема

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

sqlcmd -S localhost

я получаю ошибку:

Sqlcmd: Ошибка: Microsoft ODBC Driver 17 for SQL Server : Таймаут входа истек.
Sqlcmd: Ошибка: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Код ошибки 0x2749.
Sqlcmd: Ошибка: Microsoft ODBC Driver 17 for SQL Server : Произошла ошибка, связанная с сетью или конкретным экземпляром, при установке соединения с SQL Server. Сервер не найден или недоступен. Проверьте правильность имени экземпляра и настройку SQL Server для разрешения удаленных подключений. Для получения дополнительной информации смотрите SQL Server Books Online..

Сам сервер работает:

hyperqbe@slaro:/etc$ sudo systemctl status mssql-server
[sudo] пароль пользователя hyperqbe:
● mssql-server.service - Microsoft SQL Server Database Engine
   Загружено: загружено (/lib/systemd/system/mssql-server.service; включено; превалентный параметр: включено)
   Активно: активно (работает) с Чт 08 авг 2019 15:06:28 CEST; 19мин назад
     Документы: https://docs.microsoft.com/en-us/sql/linux
 Основной PID: 7259 (sqlservr)
    Задачи: 158
   CGroup: /system.slice/mssql-server.service
           ├─7259 /opt/mssql/bin/sqlservr
           └─7288 /opt/mssql/bin/sqlservr

08 авг 15:06:38 slaro sqlservr[7259]: [95B blob data]
08 авг 15:06:38 slaro sqlservr[7259]: [91B blob data]
08 авг 15:06:38 slaro sqlservr[7259]: [145B blob data]
08 авг 15:06:38 slaro sqlservr[7259]: [61B blob data]
08 авг 15:06:39 slaro sqlservr[7259]: [96B blob data]
08 авг 15:06:39 slaro sqlservr[7259]: [66B blob data]
08 авг 15:06:40 slaro sqlservr[7259]: [96B blob data]
08 авг 15:06:40 slaro sqlservr[7259]: [100B blob data]
08 авг 15:06:40 slaro sqlservr[7259]: [71B blob data]
08 авг 15:06:40 slaro sqlservr[7259]: [124B blob data]

Я также не могу подключиться удаленно с другого компьютера:

TITLE: Подключение к серверу
------------------------------
Не удается подключиться к 192.168.1.141.
------------------------------
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
Соединение было успешно установлено с сервером, но затем произошла ошибка в процессе входа. (поставщик: SSL Provider, ошибка: 0 - Существующее соединение было резко закрыто удаленным хостом.) (Microsoft SQL Server, Ошибка: 10054)
Для справки нажмите: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=10054&LinkId=20476

Насколько я знаю, во время процесса обновления не было ошибок.

Вот последние записи из errorlog:

2019-08-08 15:06:34.89 Server      Microsoft SQL Server 2019 (CTP3.2) - 15.0.1800.32 (X64)
        17 Июл 2019 21:29:33
        Авторское право (C) 2019 Microsoft Corporation
        Express Edition (64-разрядная) на Linux (Ubuntu 18.04.3 LTS) <X64>
2019-08-08 15:06:34.89 Server      Корректировка UTC: 2:00
2019-08-08 15:06:34.89 Server      (c) Microsoft Corporation.
2019-08-08 15:06:34.89 Server      Все права защищены.
2019-08-08 15:06:34.89 Server      Идентификатор процесса сервера равен 32.
2019-08-08 15:06:34.89 Server      Логи сообщений SQL Server в файле '/var/opt/mssql/log/errorlog'.
2019-08-08 15:06:34.89 Server      Параметры запуска из реестра:
         -d /var/opt/mssql/data/master.mdf
         -l /var/opt/mssql/data/mastlog.ldf
         -e /var/opt/mssql/log/errorlog
2019-08-08 15:06:34.90 Server      SQL Server обнаружил 1 сокет с 4 ядрами на сокет и 4 логическими процессорами на сокет, всего 4 логических процессора; использует 4 логических процессоров на основе лицензирования SQL Server. Это информационное сообщение; никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:34.90 Server      SQL Server запускается с нормальным приоритетом (=7). Это только информационное сообщение. Никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:34.90 Server      Обнаружено 12800 МБ ОЗУ. Это информационное сообщение; никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:34.90 Server      Использование обычной памяти в менеджере памяти.
2019-08-08 15:06:34.90 Server      Bitmap исключения страницы включен.
2019-08-08 15:06:35.01 Server      Расширение пула буферов не поддерживается на платформе Linux.
2019-08-08 15:06:35.02 Server      Пул буферов: выделяется 2097152 байт для 1963331 hashPages.
2019-08-08 15:06:35.16 Server      Сортировка по умолчанию: SQL_Latin1_General_CP1_CI_AS (us_english 1033)
2019-08-08 15:06:35.69 Server      Расширение пула буферов уже отключено. Никакие действия не требуются.
2019-08-08 15:06:35.99 Server      Успешно инициализирована конфигурация TLS. Разрешенные версии протокола TLS: ['1.0 1.1 1.2']. Разрешенные шифры TLS: ['ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA'].
2019-08-08 15:06:36.01 Server      Настройки Query Store инициализированы с включенной = 1,
2019-08-08 15:06:36.07 Server      Максимальное количество выделенных соединений администратора для этого экземпляра составляет '1'
2019-08-08 15:06:36.07 Server      Конфигурация узла: узел 0: Маска ЦП: 0x000000000000000f:0 Активная маска ЦП: 0x000000000000000f:0. Это сообщение предоставляет описание конфигурации NUMA для этого компьютера. Это только информационное сообщение. Никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:36.11 Server      Используется динамическое распределение замков. Начальное распределение 2500 блоков замков и 5000 блоков владельца замков на каждый узел. Это только информационное сообщение. Никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:36.17 Server      In-Memory OLTP инициализирован на машине начального уровня.
2019-08-08 15:06:36.37 Server      Загружена версия CLR v4.0.30319.
2019-08-08 15:06:36.57 Server      [ИНФОРМАЦИЯ] Создана сессия расширенных событий 'hkenginexesession'

2019-08-08 15:06:36.58 Server      Инициализация мгновенного файла базы данных: включена. Для соображений безопасности и производительности смотрите тему 'Инициализация мгновенного файла базы данных' в SQL Server Books Online. Это только информационное сообщение. Никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:36.59 Server      Общее количество потоков записи журнала: 2. Это информационное сообщение; никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:36.72 Server      clflushopt выбран для операции очистки pmem.
2019-08-08 15:06:36.72 Server      Показатели использования программного обеспечения отключены.
2019-08-08 15:06:36.97 spid11s     [1]. Статус функции: PVS: 0. CTR: 0. ConcurrentPFSUpdate: 1.
2019-08-08 15:06:36.98 spid11s     Запуск базы данных 'master'.
2019-08-08 15:06:37.58 Server      Инициализирована функциональность общего языка (CLR).
2019-08-08 15:06:37.77 spid11s     Аудит SQL Server начинает аудит. Это информационное сообщение. Никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:37.78 spid11s     Аудит SQL Server начал аудит. Это информационное сообщение. Никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:38.05 Server      Не удалось проверить подпись Authenticode 'C:\binn\secforwarder.dll'. Проверка подписи библиотек SQL Server будет пропущена. Подлинные копии SQL Server подписаны. Невозможность проверить подпись Authenticode может указывать на то, что это не подлинный релиз SQL Server. Установите подлинную копию SQL Server или свяжитесь с поддержкой.
2019-08-08 15:06:38.11 spid11s     ID трассировки SQL 1 был начат входом "sa".
2019-08-08 15:06:38.27 spid11s     Имя сервера - 'slaro'. Это только информационное сообщение. Никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:38.29 spid29s     Always On: Диспетчер доступной реплики запускается. Это только информационное сообщение. Никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:38.29 spid29s     Always On: Диспетчер доступной реплики ждет, когда экземпляр SQL Server разрешит клиентские подключения. Это только информационное сообщение. Никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:38.30 spid11s     [4]. Статус функции: PVS: 0. CTR: 0. ConcurrentPFSUpdate: 1.
2019-08-08 15:06:38.30 spid11s     Запускается база данных 'msdb'.
2019-08-08 15:06:38.32 spid12s     [32767]. Статус функции: PVS: 0. CTR: 0. ConcurrentPFSUpdate: 1.
2019-08-08 15:06:38.32 spid12s     Запускается база данных 'mssqlsystemresource'.
2019-08-08 15:06:38.33 spid12s     Версия сборки базы данных ресурсов составляет 15.00.1800. Это только информационное сообщение. Никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:38.36 spid12s     [3]. Статус функции: PVS: 0. CTR: 0. ConcurrentPFSUpdate: 1.
2019-08-08 15:06:38.36 spid12s     Запускается база данных 'model'.
2019-08-08 15:06:38.40 Server      Не удалось проверить подпись Authenticode 'C:\binn\msoledbsql.dll'. Проверка подписи библиотек SQL Server будет пропущена. Подлинные копии SQL Server подписаны. Невозможность проверить подпись Authenticode может указывать на то, что это не подлинный релиз SQL Server. Установите подлинную копию SQL Server или свяжитесь с поддержкой.
2019-08-08 15:06:38.48 spid28s     Успешно загружен сертификат, сгенерированный самостоятельно, для шифрования.
2019-08-08 15:06:38.51 Server      Ошибка: 37308, Уровень: 16, Состояние: 1.
2019-08-08 15:06:38.51 Server      Загружен None enclave для всегда зашифрованного.
2019-08-08 15:06:38.51 spid28s     Сервер слушает на [ 192.168.1.141 <ipv4> 1433].
2019-08-08 15:06:38.54 spid28s     Поддержка выделенного соединения администратора не была запущена, потому что она отключена в этой версии SQL Server. Если вы хотите использовать выделенное соединение администратора, перезапустите SQL Server, используя флаг трассировки 7806. Это только информационное сообщение. Никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:38.54 spid28s     Ошибка: 39002, Уровень: 16, Состояние: 1.
2019-08-08 15:06:38.54 spid28s     SQL не удалось загрузить расширяемость по коду ошибки 0x80070005.
2019-08-08 15:06:38.55 spid28s     InitializeXdbPkgLauncher не удалась. Код ошибки: 0x80004005.
2019-08-08 15:06:38.55 spid28s     SQL Server теперь готов к подключению клиентов. Это информационное сообщение; никаких действий со стороны пользователя не требуется.
2019-08-08 15:06:38.85 spid12s     Очистка базы данных tempdb.
2019-08-08 15:06:39.88 spid12s     [2]. Статус функции: PVS: 0. CTR: 0. ConcurrentPFSUpdate: 1.
2019-08-08 15:06:39.89 spid12s     Запускается база данных 'tempdb'.
2019-08-08 15:06:40.26 spid29s     Точка доступа Service Broker находится в состоянии отключения или остановлена.
2019-08-08 15:06:40.26 spid29s     Точка доступа Mirroring базы данных находится в состоянии отключения или остановлена.
2019-08-08 15:06:40.27 spid29s     Диспетчер Service Broker запущен.
2019-08-08 15:06:40.27 spid11s     Восстановление завершено. Это только информационное сообщение. Никаких действий со стороны пользователя не требуется.
2019-08-08 15:27:16.30 spid55      [5]. Статус функции: PVS: 0. CTR: 0. ConcurrentPFSUpdate: 1.
2019-08-08 15:27:16.30 spid55      Запускается база данных 'ProgramMagazynowy'.
2019-08-08 15:27:16.53 spid55      Параллельное восстановление запущено для базы данных 'ProgramMagazynowy' с размером пула рабочих процессов [2].
2019-08-08 15:27:16.73 spid55      Параллельное восстановление завершено для базы данных 'ProgramMagazynowy' с размером пула рабочих процессов [2].

Это может быть связано с драйвером ODBC. Мне удалось включить ведение журнала и я нашел следующее:

[ODBC][29210][1565333226.007247][SQLDriverConnectW.c][290]
                Вход:
                        Соединение = 0x8c90e0
                        Рукоятка окна = (nil)
                        Входная строка = [DRIVER={ODBC Driver 17 for SQL Server};SERVER={192.168.1.141};Trusted_Connection={YES};WSID={slaro};APP={SQLCMD};][длина = 113 (SQL_NTS)]
                        Выходная строка = (nil)
                        Максимальная выходная строка = 0
                        Указатель на выходную строку = (nil)
                        Завершение = 0
                UNICODE Использование кодировки ASCII 'ANSI_X3.4-1968' и UNICODE 'UTF-16LE'

Согласно Документации

Если кодировка символов ASCII не UTF-8, установлено более одного
Диспетчер драйверов, и ваше приложение использует неправильный, или Диспетчер драйверов был неправильно собран.

В моем случае это ‘ANSI_X3.4-1968’, так что должно быть что-то неправильно. Я дополнительно изучу статьи, предложенные в документации, но сейчас не знаю, как подтвердить, что у меня действительно установлено два драйвера, и как удалить один.

ИЗМЕНЕНИЕ:

odbcinst показывает только один драйвер:

hyperqbe@slaro:/etc$ odbcinst -q -d
[ODBC Driver 17 for SQL Server]

Эта часть, похоже, в порядке. Я не уверен, правильно ли у меня определены odbc.ini и odbcinst.ini.

hyperqbe@slaro:/etc$ cat odbc.ini
[slaro]
Driver="ODBC Driver 17 for SQL Server"
Servername=192.168.1.141

hyperqbe@slaro:/etc$ cat odbcinst.ini
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.4.so.1.1
UsageCount=1
Trace=Yes
TraceFile=/home/hyperqbe/odbc.log

=======================================

ИЗМЕНЕНИЕ ((детали ufw по запросу)):

hyperqbe@slaro:~$ sudo ufw status
[sudo] пароль пользователя hyperqbe:
Статус: активен

Для                        Действие   В
--                         ---------   -
27                         ALLOW       Anywhere
1433                       ALLOW       Anywhere
1434                       ALLOW       Anywhere
8686                       ALLOW       Anywhere
27 (v6)                    ALLOW       Anywhere (v6)
1433 (v6)                  ALLOW       Anywhere (v6)
1434 (v6)                  ALLOW       Anywhere (v6)
8686 (v6)                  ALLOW       Anywhere (v6)

22/tcp                     REJECT OUT  Anywhere
22/tcp (v6)                REJECT OUT  Anywhere (v6)

hyperqbe@slaro:~$ sudo iptables --list
Цепь INPUT (политика DROP)
цель     протокол opt источник               назначение
ufw-before-logging-input  all  --  everywhere             everywhere
ufw-before-input  all  --  everywhere             everywhere
ufw-after-input  all  --  everywhere             everywhere
ufw-after-logging-input  all  --  everywhere             everywhere
ufw-reject-input  all  --  everywhere             everywhere
ufw-track-input  all  --  everywhere             everywhere

Цепь FORWARD (политика DROP)
цель     протокол opt источник               назначение
ufw-before-logging-forward  all  --  everywhere             everywhere
ufw-before-forward  all  --  everywhere             everywhere
ufw-after-forward  all  --  everywhere             everywhere
ufw-after-logging-forward  all  --  everywhere             everywhere
ufw-reject-forward  all  --  everywhere             everywhere
ufw-track-forward  all  --  everywhere             everywhere

Цепь OUTPUT (политика ACCEPT)
цель     протокол opt источник               назначение
ufw-before-logging-output  all  --  everywhere             everywhere
ufw-before-output  all  --  everywhere             everywhere
ufw-after-output  all  --  everywhere             everywhere
ufw-after-logging-output  all  --  everywhere             everywhere
ufw-reject-output  all  --  everywhere             everywhere
ufw-track-output  all  --  everywhere             everywhere

Цепь ufw-after-forward (1 ссылка)
цель     протокол opt источник               назначение

Цепь ufw-after-input (1 ссылка)
цель     протокол opt источник               назначение
ufw-skip-to-policy-input  udp  --  everywhere             everywhere             udp dpt:netbios-ns
ufw-skip-to-policy-input  udp  --  everywhere             everywhere             udp dpt:netbios-dgm
ufw-skip-to-policy-input  tcp  --  everywhere             everywhere             tcp dpt:netbios-ssn
ufw-skip-to-policy-input  tcp  --  everywhere             everywhere             tcp dpt:microsoft-ds
ufw-skip-to-policy-input  udp  --  everywhere             everywhere             udp dpt:bootps
ufw-skip-to-policy-input  udp  --  everywhere             everywhere             udp dpt:bootpc
ufw-skip-to-policy-input  all  --  everywhere             everywhere             ADDRTYPE match dst-type BROADCAST

Цепь ufw-after-logging-forward (1 ссылка)
цель     протокол opt источник               назначение
LOG        all  --  everywhere             everywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Цепь ufw-after-logging-input (1 ссылка)
цель     протокол opt источник               назначение
LOG        all  --  everywhere             everywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Цепь ufw-after-logging-output (1 ссылка)
цель     протокол opt источник               назначение

Цепь ufw-after-output (1 ссылка)
цель     протокол opt источник               назначение

Цепь ufw-before-forward (1 ссылка)
цель     протокол opt источник               назначение
ACCEPT     all  --  everywhere             everywhere             ctstate RELATED,ESTABLISHED
ACCEPT     icmp --  everywhere             everywhere             icmp destination-unreachable
ACCEPT     icmp --  everywhere             everywhere             icmp time-exceeded
ACCEPT     icmp --  everywhere             everywhere             icmp parameter-problem
ACCEPT     icmp --  everywhere             everywhere             icmp echo-request
ufw-user-forward  all  --  everywhere             everywhere

Цепь ufw-before-input (1 ссылка)
цель     протокол opt источник               назначение
ACCEPT     all  --  everywhere             everywhere
ACCEPT     all  --  everywhere             everywhere             ctstate RELATED,ESTABLISHED
ufw-logging-deny  all  --  everywhere             everywhere             ctstate INVALID
DROP       all  --  everywhere             everywhere             ctstate INVALID
ACCEPT     icmp --  everywhere             everywhere             icmp destination-unreachable
ACCEPT     icmp --  everywhere             everywhere             icmp time-exceeded
ACCEPT     icmp --  everywhere             everywhere             icmp parameter-problem
ACCEPT     icmp --  everywhere             everywhere             icmp echo-request
ACCEPT     udp  --  everywhere             everywhere             udp spt:bootps dpt:bootpc
ufw-not-local  all  --  everywhere             everywhere
ACCEPT     udp  --  everywhere             224.0.0.251          udp dpt:mdns
ACCEPT     udp  --  everywhere             239.255.255.250      udp dpt:1900
ufw-user-input  all  --  everywhere             everywhere

Цепь ufw-before-logging-forward (0 ссылок)
цель     протокол opt источник               назначение

Цепь ufw-before-logging-input (0 ссылок)
цель     протокол opt источник               назначение

Цепь ufw-before-logging-output (0 ссылок)
цель     протокол opt источник               назначение

Цепь ufw-before-output (1 ссылка)
цель     протокол opt источник               назначение
ACCEPT     all  --  everywhere             everywhere
ACCEPT     all  --  everywhere             everywhere             ctstate RELATED,ESTABLISHED
ufw-user-output  all  --  everywhere             everywhere

Цепь ufw-logging-allow (0 ссылок)
цель     протокол opt источник               назначение
LOG        all  --  everywhere             everywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW ALLOW] "

Цепь ufw-logging-deny (2 ссылки)
цель     протокол opt источник               назначение
RETURN     all  --  everywhere             everywhere             ctstate INVALID limit: avg 3/min burst 10
LOG        all  --  everywhere             everywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Цепь ufw-not-local (1 ссылка)
цель     протокол opt источник               назначение
RETURN     all  --  everywhere             everywhere             ADDRTYPE match dst-type LOCAL
RETURN     all  --  everywhere             everywhere             ADDRTYPE match dst-type MULTICAST
RETURN     all  --  everywhere             everywhere             ADDRTYPE match dst-type BROADCAST
ufw-logging-deny  all  --  everywhere             everywhere             limit: avg 3/min burst 10
DROP       all  --  everywhere             everywhere

Цепь ufw-reject-forward (1 ссылка)
цель     протокол opt источник               назначение

Цепь ufw-reject-input (1 ссылка)
цель     протокол opt источник               назначение

Цепь ufw-reject-output (1 ссылка)
цель     протокол opt источник               назначение

Цепь ufw-skip-to-policy-forward (0 ссылок)
цель     протокол opt источник               назначение
DROP       all  --  everywhere             everywhere

Цепь ufw-skip-to-policy-input (7 ссылок)
цель     протокол opt источник               назначение
DROP       all  --  everywhere             everywhere

Цепь ufw-skip-to-policy-output (0 ссылок)
цель     протокол opt источник               назначение
ACCEPT     all  --  everywhere             everywhere

Цепь ufw-track-forward (1 ссылка)
цель     протокол opt источник               назначение

Цепь ufw-track-input (1 ссылка)
цель     протокол opt источник               назначение

Цепь ufw-track-output (1 ссылка)
цель     протокол opt источник               назначение
ACCEPT     tcp  --  everywhere             everywhere             ctstate NEW
ACCEPT     udp  --  everywhere             everywhere             ctstate NEW

Цепь ufw-user-forward (1 ссылка)
цель     протокол opt источник               назначение

Цепь ufw-user-input (1 ссылка)
цель     протокол opt источник               назначение
ACCEPT     tcp  --  everywhere             everywhere             tcp dpt:27
ACCEPT     udp  --  everywhere             everywhere             udp dpt:27
ACCEPT     tcp  --  everywhere             everywhere             tcp dpt:ms-sql-s
ACCEPT     udp  --  everywhere             everywhere             udp dpt:ms-sql-s
ACCEPT     tcp  --  everywhere             everywhere             tcp dpt:ms-sql-m
ACCEPT     udp  --  everywhere             everywhere             udp dpt:ms-sql-m
ACCEPT     tcp  --  everywhere             everywhere             tcp dpt:8686
ACCEPT     udp  --  everywhere             everywhere             udp dpt:8686

Цепь ufw-user-limit (0 ссылок)
цель     протокол opt источник               назначение
LOG        all  --  everywhere             everywhere             limit: avg 3/min burst 5 LOG level warning prefix "[UFW LIMIT BLOCK] "
REJECT     all  --  everywhere             everywhere             reject-with icmp-port-unreachable

Цепь ufw-user-limit-accept (0 ссылок)
цель     протокол opt источник               назначение
ACCEPT     all  --  everywhere             everywhere

Цепь ufw-user-logging-forward (0 ссылок)
цель     протокол opt источник               назначение

Цепь ufw-user-logging-input (0 ссылок)
цель     протокол opt источник               назначение

Цепь ufw-user-logging-output (0 ссылок)
цель     протокол opt источник               назначение

Цепь ufw-user-output (1 ссылка)
цель     протокол opt источник               назначение
REJECT     tcp  --  everywhere             everywhere             tcp dpt:ssh reject-with tcp-reset

Я нашел пост, предлагающий, что проблема может быть вызвана python.

Пожалуйста, проверьте эту ссылку, это сработало для меня. Похоже, это проблема с версией openssl, что-то, что было исправлено Microsoft в CU10 для MSSQL и вернулось в CU16.

Я также вдруг не смог больше подключиться к моему SQL серверу. Это случилось из-за нехватки места. Поэтому я освободил место и перезапустил службу apache2 (или перезагрузил весь сервер, если это не сработает).

Ответ или решение

Уважаемый пользователь,

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

1. Проверка статуса службы SQL Server

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

sudo systemctl status mssql-server

Проверьте, нет ли ошибок при запуске, а также убедитесь, что служба работает без сбоев.

2. Проверка конфигурации SQL Server для подключения

Убедитесь, что SQL Server настроен на прием удаленных подключений:

  1. Откройте SQL Server Management Studio (SSMS) и выполните:

    EXEC sp_configure 'remote access', 1;
    RECONFIGURE;
  2. Проверьте, разрешено ли использование TCP/IP, выполнив:

    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    EXEC sp_configure 'tcp enabled';

3. Проверка настроек файрвола

Вы указали, что ваш файрвол (UFW) активен, и порты 1433 и 1434 открыты. Тем не менее, может иметь смысл пересмотреть настройки и убедиться, что SQL Server может общаться по сети:

sudo ufw status verbose

Убедитесь, что все нужные порты (1433, 1434 и др.) действительно открыты и не блокируются другими правилами.

4. Проверка сетевых подключений

Попробуйте выполнить команду на вашем сервере, чтобы убедиться, что SQL Server слушает на нужных портах:

sudo netstat -tuln | grep 1433

Эта команда должна показать, что процесс SQL Server слушает на порту 1433. Если этого не происходит, возможно, SQL Server не настроен на использование данного порта.

5. Обновление драйверов ODBC

Вы предполагаете, что проблема может быть связана с драйверами ODBC. Попробуйте переустановить драйвер:

sudo apt-get remove msodbcsql17
sudo apt-get install msodbcsql17

После этого проверьте ваши файлы odbc.ini и odbcinst.ini на наличие ошибок конфигурации. Убедитесь, что они правильно указывают на драйвер и сервер.

6. Место на диске

Проблема с подключением также может быть связана с нехваткой места на диске. Убедитесь, что на диске достаточно свободного пространства:

df -h

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

7. Обновление SQL Server

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

sudo apt-get update
sudo apt-get upgrade mssql-server

8. Проверка логов SQL Server

Обратите внимание на логи SQL Server, так как в них могут быть указаны более конкретные ошибки, которые помогут диагностировать проблему. Логи находятся по пути: /var/opt/mssql/log/errorlog.

Заключение

Если после выполнения всех этих шагов проблема остается нерешенной, стоит рассмотреть возможность обращения в службу поддержки Microsoft или на специализированные форумы, где сообщество пользователей может предложить дополнительные варианты решения.

Надеюсь, эти рекомендации помогут вам восстановить соединение с SQL Server. Если у вас есть дополнительные вопросы, не стесняйтесь задавать их.

Оцените материал
Добавить комментарий

Капча загружается...