1 sqlcmd -S localhost -U SA 時報錯linux
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2746sql
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.shell
使用 下面的命令,將版本更新至14數據庫
sudo apt-get install mssql-server=14.0.3192.2-2
要在 Ubuntu 上配置 SQL Server,請在終端中運行如下命令以安裝 mssql-server 包 。ubuntu
導入公共存儲庫 GPG 密鑰:bash
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
註冊 Microsoft SQL Server Ubuntu 存儲庫:服務器
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
提示curl
若是想安裝 SQL Server 2019,必須改成註冊 SQL Server 2019 存儲庫。 使用如下命令安裝 SQL Server 2019:ide
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2019.list)"
運行如下命令以安裝 SQL Server:工具
sudo apt-get update sudo apt-get install -y mssql-server
包安裝完成後,運行 mssql-conf setup,按照提示設置 SA 密碼並選擇版本。
sudo /opt/mssql/bin/mssql-conf setup
提示
如下 SQL Server 2017 版本是免費提供許可的:Evaluation、Developer 和 Express 版。
備註
請確保爲 SA 賬戶指定強密碼(最少 8 個字符,包括大寫和小寫字母、十進制數字和/或非字母數字符號)。
完成配置後,驗證服務是否正在運行:
systemctl status mssql-server --no-pager
若是計劃遠程鏈接,可能還須要在防火牆上打開 SQL Server TCP 端口(默認值爲 1433)。
此時,SQL Server 已在 Ubuntu 計算機上運行,隨時可使用!
要在 Ubuntu 上配置 SQL Server,請在終端中運行如下命令以安裝 mssql-server 包 。
導入公共存儲庫 GPG 密鑰:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
爲 SQL Server 2019 註冊 Microsoft SQL Server Ubuntu 存儲庫:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2019.list)"
運行如下命令以安裝 SQL Server:
sudo apt-get update sudo apt-get install -y mssql-server
包安裝完成後,運行 mssql-conf setup,按照提示設置 SA 密碼並選擇版本。
sudo /opt/mssql/bin/mssql-conf setup
備註
請確保爲 SA 賬戶指定強密碼(最少 8 個字符,包括大寫和小寫字母、十進制數字和/或非字母數字符號)。
完成配置後,驗證服務是否正在運行:
systemctl status mssql-server --no-pager
若是計劃遠程鏈接,可能還須要在防火牆上打開 SQL Server TCP 端口(默認值爲 1433)。
此時,SQL Server 2019 已在 Ubuntu 計算機上運行,隨時可使用!
若要建立數據庫,則須要使用可在 SQL Server 上運行 Transact-SQL 語句的工具進行鏈接。 如下步驟安裝 SQL Server 命令行工具:sqlcmd 和 bcp。
經過下列步驟在 Ubuntu 上安裝 mssql-tools 。
導入公共存儲庫 GPG 密鑰。
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
註冊 Microsoft Ubuntu 存儲庫。
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
更新源列表,並使用 unixODBC 開發人員包運行安裝命令。
sudo apt-get update sudo apt-get install mssql-tools unixodbc-dev
備註
若要將 mssql-tools 更新至最新版本,請運行如下命令 :
sudo apt-get update sudo apt-get install mssql-tools
可選:向 bash shell 中的 PATH 環境變量添加 /opt/mssql-tools/bin/
。
要使 sqlcmd/bcp 能從登錄會話的 bash shell 進行訪問,請使用下列命令修改 ~/.bash_profile 文件中的 PATH :
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
要使 sqlcmd/bcp 能從交互式/非登陸會話的 bash shell 進行訪問,請使用下列命令修改 ~/.bashrc 文件中的 PATH :
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
如下步驟使用 sqlcmd 本地鏈接到新的 SQL Server 實例。
使用 SQL Server 名稱 (-S),用戶名 (-U) 和密碼 (-P) 的參數運行 sqlcmd 。 在本教程中,用戶進行本地鏈接,所以服務器名稱爲 localhost
。 用戶名爲 SA
,密碼是在安裝過程當中爲 SA 賬戶提供的密碼。
sqlcmd -S localhost -U SA -P '<YourPassword>'
提示
能夠在命令行上省略密碼,以收到密碼輸入提示。
提示
若是之後決定進行遠程鏈接,請指定 -S 參數的計算機名稱或 IP 地址,並確保防火牆上的端口 1433 已打開。
若是成功,應會顯示 sqlcmd 命令提示符:1>
。
若是鏈接失敗,先嚐試診斷錯誤消息中所述的問題。 而後查看鏈接故障排除建議。
下面各部分將逐步介紹如何使用 sqlcmd 新建數據庫、添加數據並運行簡單查詢。
如下步驟建立一個名爲 TestDB
的新數據庫。
在 sqlcmd 命令提示符中,粘貼如下 Transact-SQL 命令以建立測試數據庫:
CREATE DATABASE TestDB
在下一行中,編寫一個查詢以返回服務器上全部數據庫的名稱:
SELECT Name from sys.Databases
前兩個命令沒有當即執行。 必須在新行中鍵入 GO
才能執行之前的命令:
GO
提示
若要詳細瞭解如何編寫 Transact-SQL 語句和查詢,請參閱教程:編寫 Transact-SQL 語句。
接下來建立一個新表 Inventory
,而後插入兩個新行。
在 sqlcmd 命令提示符中,將上下文切換到新的 TestDB
數據庫:
USE TestDB
建立名爲 Inventory
的新表:
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
將數據插入新表:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
要執行上述命令的類型 GO
:
GO
如今,運行查詢以從 Inventory
表返回數據。
經過 sqlcmd 命令提示符輸入查詢,以返回 Inventory
表中數量大於 152 的行:
SELECT * FROM Inventory WHERE quantity > 152;
執行命令:
GO
要結束 sqlcmd 會話,請鍵入 QUIT
:
QUIT