如何在docker容器中将SSMS连接到Linux SqlServer?

时间:2017-05-22 15:22:42

标签: sql-server linux docker amazon-ecs sql-server-on-linux

我已安装在我的PC Docker中。我已经为Linux安装了SQlServer,并且实例运行正确。

我需要使用SSMS连接到Docker实例。 在图片中,您可以看到我的个人配置。

安装时我已经关注此链接 https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-docker

提前致谢

enter image description here

当我在服务器上吃午饭时,我收到了这条消息

PS C:\Users\Daniele> docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS
NAMES
PS C:\Users\Daniele> docker run  microsoft/mssql-server-linux
This is an evaluation version.  There are [171] days left in the evaluation period.
2017-05-23 07:19:15.12 Server      Setup step is copying system data file 'C:\templatedata\master.mdf' to '/var/opt/mssq
l/data/master.mdf'.
2017-05-23 07:19:15.19 Server      Setup step is copying system data file 'C:\templatedata\mastlog.ldf' to '/var/opt/mss
ql/data/mastlog.ldf'.
2017-05-23 07:19:15.19 Server      Setup step is copying system data file 'C:\templatedata\model.mdf' to '/var/opt/mssql
/data/model.mdf'.
2017-05-23 07:19:15.21 Server      Setup step is copying system data file 'C:\templatedata\modellog.ldf' to '/var/opt/ms
sql/data/modellog.ldf'.
2017-05-23 07:19:15.22 Server      Setup step is copying system data file 'C:\templatedata\msdbdata.mdf' to '/var/opt/ms
sql/data/msdbdata.mdf'.
2017-05-23 07:19:15.24 Server      Setup step is copying system data file 'C:\templatedata\msdblog.ldf' to '/var/opt/mss
ql/data/msdblog.ldf'.
2017-05-23 07:19:15.34 Server      Microsoft SQL Server 2017 (CTP2.1) - 14.0.600.250 (X64)
        May 10 2017 12:21:23
        Copyright (C) 2017 Microsoft Corporation. All rights reserved.
        Developer Edition (64-bit) on Linux (Ubuntu 16.04.2 LTS)
2017-05-23 07:19:15.34 Server      UTC adjustment: 0:00
2017-05-23 07:19:15.35 Server      (c) Microsoft Corporation.
2017-05-23 07:19:15.35 Server      All rights reserved.
2017-05-23 07:19:15.35 Server      Server process ID is 4116.
2017-05-23 07:19:15.35 Server      Logging SQL Server messages in file '/var/opt/mssql/log/errorlog'.
2017-05-23 07:19:15.36 Server      Registry startup parameters:
         -d /var/opt/mssql/data/master.mdf
         -l /var/opt/mssql/data/mastlog.ldf
         -e /var/opt/mssql/log/errorlog
2017-05-23 07:19:15.37 Server      SQL Server detected 1 sockets with 2 cores per socket and 2 logical processors per so
cket, 2 total logical processors; using 2 logical processors based on SQL Server licensing. This is an informational mes
sage; no user action is required.
2017-05-23 07:19:15.38 Server      SQL Server is starting at normal priority base (=7). This is an informational message
 only. No user action is required.
2017-05-23 07:19:15.39 Server      Detected 3944 MB of RAM. This is an informational message; no user action is required
.
2017-05-23 07:19:15.39 Server      Using conventional memory in the memory manager.
2017-05-23 07:19:15.63 Server      Buffer pool extension is already disabled. No action is necessary.
2017-05-23 07:19:15.76 Server      InitializeExternalUserGroupSid failed. Implied authentication will be disabled.
2017-05-23 07:19:15.76 Server      Implied authentication manager initialization failed. Implied authentication will be
disabled.
2017-05-23 07:19:15.77 Server      Successfully initialized the TLS configuration. Allowed TLS protocol versions are ['1
.0 1.1 1.2']. Allowed TLS ciphers are ['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-RSA-AES128-SHA256:ECDHE-RS
A-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA38
4:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA'].
2017-05-23 07:19:15.81 Server      The maximum number of dedicated administrator connections for this instance is '1'
2017-05-23 07:19:15.81 Server      Node configuration: node 0: CPU mask: 0x0000000000000003:0 Active CPU mask: 0x0000000
000000003:0. This message provides a description of the NUMA configuration for this computer. This is an informational m
essage only. No user action is required.
2017-05-23 07:19:15.82 Server      Using dynamic lock allocation.  Initial allocation of 2500 Lock blocks and 5000 Lock
Owner blocks per node.  This is an informational message only.  No user action is required.
2017-05-23 07:19:15.83 Server      In-Memory OLTP initialized on lowend machine.
2017-05-23 07:19:15.88 Server      Database Instant File Initialization: enabled. For security and performance considera
tions see the topic 'Database Instant File Initialization' in SQL Server Books Online. This is an informational message
only. No user action is required.
2017-05-23 07:19:15.89 Server      Query Store settings initialized with enabled = 1,
2017-05-23 07:19:15.90 spid7s      Starting up database 'master'.
2017-05-23 07:19:15.91 Server      Software Usage Metrics is disabled.
2017-05-23 07:19:16.12 spid7s      The tail of the log for database master is being rewritten to match the new sector si
ze of 4096 bytes.  3584 bytes at offset 418304 in file /var/opt/mssql/data/mastlog.ldf will be written.
2017-05-23 07:19:16.18 spid7s      Converting database 'master' from version 862 to the current version 868.
2017-05-23 07:19:16.19 spid7s      Database 'master' running the upgrade step from version 862 to version 863.
2017-05-23 07:19:16.21 spid7s      Database 'master' running the upgrade step from version 863 to version 864.
2017-05-23 07:19:16.23 spid7s      Database 'master' running the upgrade step from version 864 to version 865.
2017-05-23 07:19:16.23 spid7s      Database 'master' running the upgrade step from version 865 to version 866.
2017-05-23 07:19:16.24 spid7s      Database 'master' running the upgrade step from version 866 to version 867.
2017-05-23 07:19:16.25 spid7s      Database 'master' running the upgrade step from version 867 to version 868.
2017-05-23 07:19:16.42 spid7s      Buffer pool extension is already disabled. No action is necessary.
2017-05-23 07:19:16.42 spid7s      Resource governor reconfiguration succeeded.
2017-05-23 07:19:16.43 spid7s      SQL Server Audit is starting the audits. This is an informational message. No user ac
tion is required.
2017-05-23 07:19:16.43 spid7s      SQL Server Audit has started the audits. This is an informational message. No user ac
tion is required.
2017-05-23 07:19:16.49 spid7s      SQL Trace ID 1 was started by login "sa".
2017-05-23 07:19:16.50 spid7s      Server name is '29e275920103'. This is an informational message only. No user action
is required.
2017-05-23 07:19:16.50 spid7s      The NETBIOS name of the local node that is running the server is '29e275920103'. This
 is an informational message only. No user action is required.
2017-05-23 07:19:16.52 spid19s     Password policy update was successful.
2017-05-23 07:19:16.52 spid22s     Always On: The availability replica manager is starting. This is an informational mes
sage only. No user action is required.
2017-05-23 07:19:16.53 spid9s      Starting up database 'mssqlsystemresource'.
2017-05-23 07:19:16.53 spid7s      Starting up database 'msdb'.
2017-05-23 07:19:16.54 spid22s     Always On: The availability replica manager is waiting for the instance of SQL Server
 to allow client connections. This is an informational message only. No user action is required.
2017-05-23 07:19:16.55 spid9s      The resource database build version is 14.00.600. This is an informational message on
ly. No user action is required.
2017-05-23 07:19:16.57 spid9s      Starting up database 'model'.
2017-05-23 07:19:16.88 spid7s      The tail of the log for database msdb is being rewritten to match the new sector size
 of 4096 bytes.  512 bytes at offset 52736 in file /var/opt/mssql/data/MSDBLog.ldf will be written.
2017-05-23 07:19:16.94 spid7s      Converting database 'msdb' from version 862 to the current version 868.
2017-05-23 07:19:16.95 spid7s      Database 'msdb' running the upgrade step from version 862 to version 863.
2017-05-23 07:19:16.98 spid19s     A self-generated certificate was successfully loaded for encryption.
2017-05-23 07:19:17.00 spid7s      Database 'msdb' running the upgrade step from version 863 to version 864.
2017-05-23 07:19:17.01 spid19s     Server is listening on [ 0.0.0.0 <ipv4> 1433].
2017-05-23 07:19:17.02 Server      Server is listening on [ 127.0.0.1 <ipv4> 1434].
2017-05-23 07:19:17.02 Server      Dedicated admin connection support was established for listening locally on port 1434
.
2017-05-23 07:19:17.02 spid9s      The tail of the log for database model is being rewritten to match the new sector siz
e of 4096 bytes.  2048 bytes at offset 75776 in file /var/opt/mssql/data/modellog.ldf will be written.
2017-05-23 07:19:17.02 spid19s     SQL Server is now ready for client connections. This is an informational message; no
user action is required.
2017-05-23 07:19:17.05 spid7s      Database 'msdb' running the upgrade step from version 864 to version 865.
2017-05-23 07:19:17.05 spid7s      Database 'msdb' running the upgrade step from version 865 to version 866.
2017-05-23 07:19:17.06 spid9s      Converting database 'model' from version 862 to the current version 868.
2017-05-23 07:19:17.06 spid9s      Database 'model' running the upgrade step from version 862 to version 863.
2017-05-23 07:19:17.07 spid7s      Database 'msdb' running the upgrade step from version 866 to version 867.
2017-05-23 07:19:17.08 spid7s      Database 'msdb' running the upgrade step from version 867 to version 868.
2017-05-23 07:19:17.09 spid9s      Database 'model' running the upgrade step from version 863 to version 864.
2017-05-23 07:19:17.10 spid9s      Database 'model' running the upgrade step from version 864 to version 865.
2017-05-23 07:19:17.10 spid9s      Database 'model' running the upgrade step from version 865 to version 866.
2017-05-23 07:19:17.10 spid9s      Database 'model' running the upgrade step from version 866 to version 867.
2017-05-23 07:19:17.11 spid9s      Database 'model' running the upgrade step from version 867 to version 868.
2017-05-23 07:19:17.22 spid9s      Polybase feature disabled.
2017-05-23 07:19:17.22 spid9s      Clearing tempdb database.
2017-05-23 07:19:17.71 spid9s      Starting up database 'tempdb'.
2017-05-23 07:19:17.97 spid9s      The tempdb database has 1 data file(s).
2017-05-23 07:19:17.99 spid22s     The Service Broker endpoint is in disabled or stopped state.
2017-05-23 07:19:17.99 spid22s     The Database Mirroring endpoint is in disabled or stopped state.
2017-05-23 07:19:18.00 spid22s     Service Broker manager has started.
2017-05-23 07:19:18.14 spid7s      Recovery is complete. This is an informational message only. No user action is requir
ed.

3 个答案:

答案 0 :(得分:1)

如果您在文档上运行命令:

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -d microsoft/mssql-server-linux

然后容器上的端口映射到localhost上的端口。因此,您可以使用localhost和上面指定的密码连接到数据库。

让我知道这是否有效!

答案 1 :(得分:1)

这是一个老问题,但是当我遇到类似问题时,我来到了这个话题。因此回答这个问题可能对其他人有用。

在我的情况下,这是服务器名称语法问题。 SSMS使用ip_address,port_number语法。所以我必须使用localhost,1433或127.0.0.1,1433进行连接。

我实际上发现了与此here

相关的SO问题

答案 2 :(得分:0)

仅使用IP(使用“ Ip,1433 \ Express”存在相同的问题)。如果不使用std。端口添加,端口(注意,不是:!) 但不是docker的内部IP。使用从任务栏Settings => Network =>“ Internal Virtual Switch”-> Subnet Address中的docker桌面图标获取的IP。 (必须在本地主机的IP地址范围内)。将最后0替换为1 参见:https://docs.microsoft.com/de-de/sql/linux/sql-server-linux-manage-ssms?view=sql-server-2017 SQL验证 用户= SA PWD看到docker run cmd的启动。