无法通过SQL Server Management Studio连接到SQL Server Linux Docker容器
我对Linux操作系统很陌生,所以希望这不是一个愚蠢的问题!无法通过SQL Server Management Studio连接到SQL Server Linux Docker容器
软件:
的Windows 10 Pro的
泊坞的Windows(1.13.0-beta38(9805))
SQL Server Management Studio中v17.0 RC1
问题: 我试图使用SSMS连接到我的SQL Server Linux容器。这是行不通的,所以在SQL Server Linux映像的顶部查看文档,看起来您需要使用SQL Server Tools installed(页面底部)。
我跟着these instructions在Ubuntu(SQL服务器Linux映像的基本映像)安装SQL Server工具
错误: bash: curl: command not found
步骤来重现错误:
- 拉最新款
microsoft/sql-server-linux
图片 - 按指令运行:
docker exec -it <container_id> /bin/bash
- 尝试导入公共仓库GPG密钥:
docker run -e 'ACCEPT_EULA=Y' -e SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux
- 使用附加到容器
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
件事是我尝试过:
- 我已经尝试运行
apt-get install curl
但我得到的是E: Unable to locate package curl
- 使用谷歌搜索 - 到没有尽头
首先编辑 - 通过SSMS连接 我尝试使用下面的服务器名称(我使用与docker run
命令中指定的凭据SQL身份验证)连接到容器从SSMS:
- 本地主机:1433
- 本地主机\ [CONTAINER_NAME]
- [container_ip_address]:1433
解决方案(种)
好的,所以我得到了这个工作。但我不是100%确定这个伎俩是什么。
我使用localhost
作为服务器名称(默认为端口1433)
我还将容器作为我的docker-compose的一部分安装到容器中。YML文件:
volumes:
- C:\local\volume\path:/var/opt/mssql
SQL服务器的Linux日志
Configuring Microsoft(R) SQL Server(R)...
Configuration complete.
This is an evaluation version. There are [141] days left in the evaluation period.
2017-01-23 08:14:10.39 Server Microsoft SQL Server vNext (CTP1.1) - 14.0.100.187 (X64)
Dec 10 2016 02:51:11
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
on Linux (Ubuntu 16.04.1 LTS)
2017-01-23 08:14:10.40 Server UTC adjustment: 0:00
2017-01-23 08:14:10.41 Server (c) Microsoft Corporation.
2017-01-23 08:14:10.41 Server All rights reserved.
2017-01-23 08:14:10.42 Server Server process ID is 4116.
2017-01-23 08:14:10.42 Server Logging SQL Server messages in file 'C:\var\opt\mssql\log\errorlog'.
2017-01-23 08:14:10.42 Server Registry startup parameters:
-d C:\var\opt\mssql\data\master.mdf
-l C:\var\opt\mssql\data\mastlog.ldf
-e C:\var\opt\mssql\log\errorlog
2017-01-23 08:14:10.44 Server SQL Server detected 1 sockets with 2 cores per socket and 2 logical processors per socket, 2 total logical processors; using 2 logical
processors based on SQL Server licensing. This is an informational message; no user action is required.
2017-01-23 08:14:10.45 Server SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
2017-01-23 08:14:10.46 Server Detected 3143 MB of RAM. This is an informational message; no user action is required.
2017-01-23 08:14:10.46 Server Using conventional memory in the memory manager.
2017-01-23 08:14:10.54 Server Default collation: SQL_Latin1_General_CP1_CI_AS (us_english 1033)
2017-01-23 08:14:10.68 Server Buffer pool extension is already disabled. No action is necessary.
2017-01-23 08:14:10.79 Server InitializeExternalUserGroupSid failed. Implied authentication will be disabled.
2017-01-23 08:14:10.79 Server Implied authentication manager initialization failed. Implied authentication will be disabled.
2017-01-23 08:14:10.84 Server The maximum number of dedicated administrator connections for this instance is '1'
2017-01-23 08:14:10.84 Server Node configuration: node 0: CPU mask: 0x0000000000000003:0 Active CPU mask: 0x0000000000000003:0. This message provides a description o
f the NUMA configuration for this computer. This is an informational message only. No user action is required.
2017-01-23 08:14:10.86 Server Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational m
essage only. No user action is required.
2017-01-23 08:14:10.87 Server Database Instant File Initialization: enabled. For security and performance considerations see the topic 'Database Instant File Initial
ization' in SQL Server Books Online. This is an informational message only. No user action is required.
2017-01-23 08:14:10.89 Server Query Store settings initialized with enabled = 1,
2017-01-23 08:14:10.89 spid5s Starting up database 'master'.
2017-01-23 08:14:10.91 Server In-Memory OLTP initialized on lowend machine.
2017-01-23 08:14:10.98 Server Software Usage Metrics is disabled.
2017-01-23 08:14:11.04 spid5s 8 transactions rolled forward in database 'master' (1:0). This is an informational message only. No user action is required.
2017-01-23 08:14:11.07 spid5s 0 transactions rolled back in database 'master' (1:0). This is an informational message only. No user action is required.
2017-01-23 08:14:11.08 spid5s Recovery is writing a checkpoint in database 'master' (1). This is an informational message only. No user action is required.
2017-01-23 08:14:11.13 spid5s Buffer pool extension is already disabled. No action is necessary.
2017-01-23 08:14:11.13 spid5s Resource governor reconfiguration succeeded.
2017-01-23 08:14:11.13 spid5s SQL Server Audit is starting the audits. This is an informational message. No user action is required.
2017-01-23 08:14:11.14 spid5s SQL Server Audit has started the audits. This is an informational message. No user action is required.
2017-01-23 08:14:11.18 spid5s SQL Trace ID 1 was started by login "sa".
2017-01-23 08:14:11.20 spid5s Server name is '65507453cf5a'. This is an informational message only. No user action is required.
2017-01-23 08:14:11.23 spid17s Password policy update was successful.
2017-01-23 08:14:11.24 spid5s Starting up database 'msdb'.
2017-01-23 08:14:11.24 spid6s Starting up database 'mssqlsystemresource'.
2017-01-23 08:14:11.26 spid6s The resource database build version is 14.00.100. This is an informational message only. No user action is required.
2017-01-23 08:14:11.29 spid6s Starting up database 'model'.
2017-01-23 08:14:11.61 spid5s 7 transactions rolled forward in database 'msdb' (4:0). This is an informational message only. No user action is required.
2017-01-23 08:14:11.61 spid6s 7 transactions rolled forward in database 'model' (3:0). This is an informational message only. No user action is required.
2017-01-23 08:14:11.63 spid6s 0 transactions rolled back in database 'model' (3:0). This is an informational message only. No user action is required.
2017-01-23 08:14:11.63 spid5s 0 transactions rolled back in database 'msdb' (4:0). This is an informational message only. No user action is required.
2017-01-23 08:14:11.63 spid6s Recovery is writing a checkpoint in database 'model' (3). This is an informational message only. No user action is required.
2017-01-23 08:14:11.64 spid5s Recovery is writing a checkpoint in database 'msdb' (4). This is an informational message only. No user action is required.
2017-01-23 08:14:11.75 spid6s Polybase feature disabled.
2017-01-23 08:14:11.76 spid6s Clearing tempdb database.
2017-01-23 08:14:12.10 spid17s A self-generated certificate was successfully loaded for encryption.
2017-01-23 08:14:12.11 spid17s Server is listening on [ 0.0.0.0 <ipv4> 1433].
2017-01-23 08:14:12.13 Server Server is listening on [ 127.0.0.1 <ipv4> 1434].
2017-01-23 08:14:12.13 Server Dedicated admin connection support was established for listening locally on port 1434.
2017-01-23 08:14:12.14 spid17s SQL Server is now ready for client connections. This is an informational message; no user action is required.
2017-01-23 08:14:12.40 spid6s Starting up database 'tempdb'.
2017-01-23 08:14:12.68 spid6s The tempdb database has 1 data file(s).
2017-01-23 08:14:12.69 spid20s The Service Broker endpoint is in disabled or stopped state.
2017-01-23 08:14:12.70 spid20s The Database Mirroring endpoint is in disabled or stopped state.
2017-01-23 08:14:12.71 spid20s Service Broker manager has started.
2017-01-23 08:14:12.75 spid5s Recovery is complete. This is an informational message only. No user action is required.
2017-01-23 08:14:15.89 spid29s The activated proc '[dbo].[sp_syspolicy_events_reader]' running on queue 'msdb.dbo.syspolicy_event_queue' output the following: 'Trans
action (Process ID 29) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.'
2017-01-23 08:19:14.95 spid51 Using 'dbghelp.dll' version '4.0.5'
2017-01-23 08:19:18.62 spid51 Attempting to load library 'xplog70.dll' into memory. This is an informational message only. No user action is required.
2017-01-23 08:19:18.65 spid51 Using 'xplog70.dll' version '2016.140.100' to execute extended stored procedure 'xp_msver'. This is an informational message only; no u
ser action is required.
我有同样的问题,并从埃德哈珀注释解决我的问题:
SSMS uses a comma rather than a colon to delimit between server name and port number. Try localhost,1433. – Ed Harper Jan 23 at 12:52
服务器名称字段中SMSS需要一个locahost格式,[dockerport]。 所以在我的情况,我需要:
本地主机,32768
你在SSMS正在输入的服务器名称? –
您不需要容器上安装的SQL Server工具从外部进行连接。你还有其他问题。 –
你在虚拟机中运行Linux主机吗?也请附上'docker logs#containerHash'的输出# –