Ошибка входа в SQL Server на Kubernetes (aks) для SA

Я пытаюсь развернуть собственный образ докера SQL Server 2019 из репозитория Docker Hub в кластер kubernetes (aks), но не могу войти в экземпляр БД извне. Пишет, что авторизация для пользователя "sa" не удалась.

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

Пытался использовать sqlcmd и Azure Data Studio, и я знаю, что он достигает сервера, потому что в журнале ошибок есть следующая ошибка:

Ошибка: 18456, уровень серьезности: 14, состояние: 8
Ошибка входа для пользователя sa. Причина: Пароль не соответствует указанному логину.


person Parikshit Bhagawati    schedule 07.08.2020    source источник
comment
Проверьте журналы SQL Server. Вы видите попытку? Если да, то в чем ошибка? Если нет, то соединение не достигает экземпляра.   -  person Larnu    schedule 07.08.2020
comment
Я столкнулся с интересной проблемой, когда в Linux символы в паролях неправильно интерпретировались/искажались. Такие вещи, как $, просто не работали, поэтому я изменил шаблон пароля, чтобы использовать # вместо $. Если у вас есть какие-либо небуквенно-цифровые символы, вы можете попробовать изменить их (конечно, вам придется войти в систему, используя другую учетную запись, чтобы изменить ее, или разорвать ее и снова восстановить).   -  person Aaron Bertrand    schedule 07.08.2020
comment
не удалось выполнить вход для пользователя 'sa' — это не полная ошибка в журналах. Журналы сообщат вам полную ошибку, например, неверный пароль.   -  person Larnu    schedule 07.08.2020
comment
@Larnu говорит, что журнал ошибок SQL Server (а не любой журнал вашего приложения) будет содержать дополнительную информацию, включая полезный номер состояния и, как правило, дополнительный контекст.   -  person Aaron Bertrand    schedule 07.08.2020
comment
Да, значит, вы вводите не тот пароль (и, опять же, это может быть из-за спецсимволов, вроде $).   -  person Aaron Bertrand    schedule 07.08.2020
comment
Мысли @AaronBertrand о пароле здесь вполне могут быть точны. Возможно, стоит изменить его на другой безопасный пароль (без $ в нем) и попробовать. В противном случае вы действительно передаете неверный пароль.   -  person Larnu    schedule 07.08.2020
comment
Только что просматривал ваш блог @AaronBertrand. Довольно аккуратно! Но не уверен, что я делаю не так, ребята ... попытался напечатать его в командной строке sqlcmd arg буква за буквой, вставив его непосредственно в поле ADS. менял его пару раз и т. д. Но если вы, ребята, абсолютно уверены, что это проблема с паролем, я думаю, мне придется продолжать попытки. Ларну, я просто удалил $ и заменил его на #, но это не имело никакого значения.   -  person Parikshit Bhagawati    schedule 07.08.2020
comment
Вам нужно создать пароль без $. Вы не можете просто изменить то, что вы вводите для аутентификации.   -  person Aaron Bertrand    schedule 07.08.2020
comment
Извините, если я не был ясен в этой части. Вот что я делал с самого начала - 1. Пароль не работает 2. Удаляю все ресурсы (секрет - где я храню пароль, модуль, сервис и т. д.) из кластера 3. Воссоздайте все ресурсы с новым секретом (новым пароль), чтобы попробовать 4. Подождите, пока контейнер раскрутится и экземпляр БД будет готов 5. Попробуйте войти в систему с новым паролем 6. Перейдите к шагу 1   -  person Parikshit Bhagawati    schedule 08.08.2020
comment
Некоторые из паролей, которые я пробовал до сих пор (если это помогает): 1. MyC0m9l&xP@ssw0rd (прямо из документов MS) 2. Password123# 3. Password117@ 4. P@ssw0rd 5. Pa$$w0rd1!   -  person Parikshit Bhagawati    schedule 08.08.2020


Ответы (1)


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

Подняли SR с MS, чтобы понять требования политики паролей. почему некоторые пароли не работали. Событие, указанное в их документах.

Спасибо @Larnu и @Aaron Bertrand за ваше время и вклад.

person Parikshit Bhagawati    schedule 10.08.2020