Используйте VS Code (расширение MS sql) для подключения к SQL Серверу, работающему на Docker на Windows - PullRequest
0 голосов
/ 06 апреля 2020

Я использую Docker на Windows, и у меня есть Docker контейнер с SQL Сервер работает. Чтобы запустить мой контейнер, я использовал показанную здесь информацию :

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=yourStrong(!)Password" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-CU8-ubuntu

(Обратите внимание, что вместо одинарных кавычек (') я использую двойные кавычки (") поскольку я работаю на Windows.)

Мой контейнер работает, и я могу подключиться к нему и выполнить запрос, используя sqlcmd:

docker exec -it <container_id|container_name> /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P <your_password>

(обратите внимание, я указываю идентификатор контейнера, найденный с помощью docker container ls, и пароль, используемый при запуске контейнера, yourStrong(!)Password.)

1> USE master
2> GO
Changed database context to 'master'.
1> SELECT name, database_id, create_date FROM sys.databases;
2> GO
name                                                                                                                             database_id create_date
----------------------------------------
master         1 2003-04-08 09:13:36.390
tempdb         2 2020-04-06 12:00:33.493
model          3 2003-04-08 09:13:36.390
msdb           4 2018-06-13 18:27:29.220

Однако я хочу использовать VS Code для подключения к моему SQL экземпляру сервера, поэтому после установки сервера SQL SQL (ms sql) я попытался установить соединение, но установить соединение не удалось.

Имя сервера

enter image description here

В качестве имени сервера я использую IP-адрес для контейнера, что составляет 172.17.0.2. Это получается с использованием ответа , показанного здесь .

Имя базы данных

enter image description here

Для имени базы данных я использую master.

Имя пользователя

enter image description here

Для имени пользователя Я использую SA (обратите внимание, что я пробовал использовать как верхний, так и нижний регистр).

Пароль

enter image description here

Я использую тот же пароль, указанный при запуске контейнера, yourStrong(!)Password

Последние два шага - «Сохранить пароль», для которого я выбираю «Да», и назовите соединение, для которого я попытался указать имя, и попытался опустить его.

Соединение каждый раз прерывается, и я не уверен, в чем проблема. Учетные данные определенно правильные (если они не каким-то образом преобразованы при добавлении в запросы в VS Code, что маловероятно), правильное имя сервера (IP) и база данных существует.

Кто-нибудь знает, в чем может быть проблема, или как я могу устранить эту проблему дальше?

Я знаю, что должно работать, так как я успешно сделал то же самое на Linux. Я предполагаю, что это как-то связано с Docker, работающим на Windows, но не могу быть уверен.

Любая помощь приветствуется!

Редактировать

Информация об ошибке при попытке подключения: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...