Вопрос или проблема
У меня Linux Ubuntu 16.04
и запущен MSSQL Server express
Служба работает.
sudo systemctl status mssql-server
результат
mssql-server.service - Microsoft SQL Server Database Engine
Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor pre
Active: active (running) since Fri 2020-11-06 08:11:42 GMT; 2h 0min ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 961 (sqlservr)
CGroup: /system.slice/mssql-server.service
├─ 961 /opt/mssql/bin/sqlservr
└─1608 /opt/mssql/bin/sqlservr
Я открыл в терминале этот путь:
/opt/mssql-tools/bin$
Я ввел путь для доступа, но
/opt/mssql-tools/bin$
sqlcmd -s SQLEXPRESS -u SA (Здесь пароль)
но ничего не получил, только это:
Sqlcmd: 'SA': Unexpected argument. Enter '-?' for help.
Давно не подключался, возможно, забыл учетные данные>. Так что теперь мои вопросы:
Как найти учетные данные (Имя пользователя, но особенно имя SQL Server?) в системе?
Они хранятся в каком-либо конфигурационном файле помимо MSSQL.CONF, где я их не нашел?
Есть ли способ получить их из терминала?
Если они не ошибочны, в чем тогда ошибка>? Почему я получил эти ошибки? Я мог подключиться около 2 месяцев назад.
Спасибо всем.
Паоло
Я понял, что могу избежать пароля -P
как только я это сделал, меня попросили его ввести
я это сделал и появилась ошибка
Password:
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL
Server : TCP Provider: Error code 0x2AF9.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..
пароль правильный, и служба работает. какие-нибудь идеи?
Спасибо.
Проблема в -u
. Должно быть с большой буквы: -U
.
Ответ или решение
Для решения проблемы с подключением к экземпляру SQL Server на Ubuntu необходимо рассмотреть несколько аспектов, от настройки до ввода команды. Вы управляете сервером SQL на Ubuntu 16.04, и у вас установлена версия MSSQL Server Express, которая успешно работает, как видно из статуса службы. Давайте разберем основные этапы для обнаружения имени экземпляра и решения вашей проблемы с подключением.
Настройка и проверка имени экземпляра SQL Server
-
Проверка установленного имени экземпляра:
В установках SQL Server по умолчанию имя экземпляра может быть «MSSQLSERVER» или «SQLEXPRESS» для версии Express. В вашем случае, вероятнее всего, это второе. Однако для уверенности, вы можете выполнить команду для просмотра настроек SQL Server:cat /var/opt/mssql/mssql.conf
Эта команда покажет файлы конфигурации, но может не содержать имени вашего экземпляра, если вы его не указывали при установке.
-
Подключение к SQL Server:
Попробуйте исправить введенную вами команду следующим образом:/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'ваш_пароль'
Обратите внимание:
- Замените в команде параметр
-s
(который является неверным) на-S
, чтобы указать имя сервера. - Используйте
-U SA
с заглавной буквой после х.
- Замените в команде параметр
-
Проверка параметров сети:
Ошибка подключения может свидетельствовать о проблемах с сетью или о блокировке порта. Убедитесь, что SQL Server настроен на прием удаленных подключений. Проверьте файлы журнала SQL Server, чтобы убедиться, что он слушает на правильном порту (обычно это 1433). -
Диагностика ошибок ODBC:
Ошибки, такие как "Ошибка: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired" говорят о том, что клиент не может подключиться к серверу. Проверьте следующие моменты:- Откройте порт 1433 в файерволе, если он закрыт.
- Проверьте, что служба SQL Server принимает входящие подключения; это можно сделать, настроив конфигурацию
/etc/odbcinst.ini
и/etc/odbc.ini
для ODBC драйвера.
Заключение:
Важно убедиться, что вы ввели правильное имя сервера и учетные данные. Если все вышеприведенные параметры настроены правильно, и при этом сервер активен, то вы должны успешно подключиться.
Следуя методу FOREST, мы сначала идентифицировали проблему, описали причины возникновения и предложили решения. Это последовательное руководство должно помочь вам обнаружить имя экземпляра и устранить проблемы с подключением на вашей системе.