2017-01-22 194 views
2

我對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. 
+0

你在SSMS正在輸入的服務器名稱? –

+0

您不需要容器上安裝的SQL Server工具從外部進行連接。你還有其他問題。 –

+0

你在虛擬機中運行Linux主機嗎?也請附上'docker logs#containerHash'的輸出# –

回答

3

我有同樣的問題,並從埃德哈珀註釋解決我的問題:

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

相關問題