[英]Unable to connect to SQL Server Linux Docker container via SQL Server Management Studio
I'm quite new to Linux OS's so hope this isn't a stupid question!! 我对Linux OS还是很陌生,所以希望这不是一个愚蠢的问题!!
Software: 软件:
Windows 10 Pro Windows 10专业版
Docker for Windows (1.13.0-beta38 (9805)) Windows版Docker(1.13.0-beta38(9805))
SQL Server Management Studio v17.0 RC1 SQL Server管理Studio v17.0 RC1
Issue: I'm trying to connect to my SQL Server Linux container using SSMS. 问题:我正在尝试使用SSMS连接到我的SQL Server Linux容器。 It's not worked, so looking over the documentation it seems you need SQL Server Tools installed (bottom of page) on top of of the SQL Server Linux image.
它不起作用,因此查看文档似乎您需要在SQL Server Linux映像之上安装SQL Server Tools (页面底部)。
I followed these instructions to install SQL Server Tools on Ubuntu (base image of SQL Server Linux Image) 我按照以下说明在Ubuntu上安装SQL Server工具(SQL Server Linux映像的基本映像)
Error: bash: curl: command not found
错误:
bash: curl: command not found
Steps to reproduce error: 重现错误的步骤:
microsoft/sql-server-linux
image microsoft/sql-server-linux
映像 docker run -e 'ACCEPT_EULA=Y' -e SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux
docker run -e 'ACCEPT_EULA=Y' -e SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux
: docker run -e 'ACCEPT_EULA=Y' -e SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux
docker exec -it <container_id> /bin/bash
docker exec -it <container_id> /bin/bash
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Thing's I've tried: 我尝试过的东西:
apt-get install curl
but all i get is E: Unable to locate package curl
apt-get install curl
但我得到的只是E: Unable to locate package curl
First edit - Connecting via SSMS I've tried connecting to the container from SSMS using the following server names (I am using SQL authentication with the credentials specified during the docker run
command): 第一次编辑-通过SSMS连接我尝试使用以下服务器名称从SSMS连接到容器(我使用
docker run
命令期间指定的凭据使用SQL身份验证):
Solution (kind of) 解决方法(种类)
OK so i got this working. 好,这样我就可以了。 But I'm not 100% sure what did the trick.
但是我不是100%知道是什么原因。
I used localhost
as the server name (defaults to port 1433) 我使用
localhost
作为服务器名称(默认为端口1433)
I also mounted a volume to the container as part of my docker-compose.yml file: 我还将一个卷作为docker-compose.yml文件的一部分安装到了容器上:
volumes:
- C:\local\volume\path:/var/opt/mssql
SQL Server Linux Logs SQL Server 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.
I had the same issue and the comment from Ed Harper resolved my issue: 我遇到了同样的问题,Ed Harper的评论解决了我的问题:
SSMS uses a comma rather than a colon to delimit between server name and port number.
SSMS使用逗号而不是冒号来分隔服务器名称和端口号。 Try localhost,1433.
尝试localhost,1433。 – Ed Harper Jan 23 at 12:52
– Ed Harper 1月23日12:52
The server name field in SMSS required a format of locahost,[dockerport]. SMSS中的服务器名称字段需要locahost [dockerport]的格式。 So in my case I needed:
因此,就我而言,我需要:
localhost,32768 本地主机,32768
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.