Linux環(huán)境安裝SQL?Server數(shù)據(jù)庫以及使用方法詳解
一、環(huán)境
- 虛擬機(jī):VMware Workstation。
- 系統(tǒng):Ubuntu 20.04。
- 文件系統(tǒng):XFS 或 EXT4。
- 內(nèi)存:至少具有 2 GB 內(nèi)存。
- 磁盤空間:6 GB以上。
- 處理器速度:2 GHz。
- 處理器核心數(shù):2 個(gè)核心。
- 處理器類型:僅兼容 x64。
- 安裝SQL Server版本:2019。
如果以前安裝了 SQL Server 的社區(qū)技術(shù)預(yù)覽版 (CTP) 或候選發(fā)布 (RC) 版本,則必須先刪除舊存儲庫。
二、安裝 SQL Server
(1)導(dǎo)入公共存儲庫 GPG 密鑰:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
輸出:
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.7 (GNU/Linux) mQENBFYxWIwBCADAKoZhZlJxGNGWzqV+1OG1xiQeoowKhssGAKvd+buXCGISZJwT LXZqIcIiLP7pqdcZWtE9bSc7yBY2MalDp9Liu0KekywQ6VVX1T72NPf5Ev6x6DLV 7aVWsCzUAF+eb7DC9fPuFLEdxmOEYoPjzrQ7cCnSV4JQxAqhU4T6OjbvRazGl3ag OeizPXmRljMtUUttHQZnRhtlzkmwIrUivbfFPD+fEoHJ1+uIdfOzZX8/oKHKLe2j H632kvsNzJFlROVvGLYAk2WRcLu+RjjggixhwiB+Mu/A8Tf4V6b+YppS44q8EvVr M+QvY7LNSOffSO6Slsy9oisGTdfE39nC7pVRABEBAAG0N01pY3Jvc29mdCAoUmVs ZWFzZSBzaWduaW5nKSA8Z3Bnc2VjdXJpdHlAbWljcm9zb2Z0LmNvbT6JATUEEwEC AB8FAlYxWIwCGwMGCwkIBwMCBBUCCAMDFgIBAh4BAheAAAoJEOs+lK2+EinPGpsH /32vKy29Hg51H9dfFJMx0/a/F+5vKeCeVqimvyTM04C+XENNuSbYZ3eRPHGHFLqe MNGxsfb7C7ZxEeW7J/vSzRgHxm7ZvESisUYRFq2sgkJ+HFERNrqfci45bdhmrUsy 7SWw9ybxdFOkuQoyKD3tBmiGfONQMlBaOMWdAsic965rvJsd5zYaZZFI1UwTkFXV KJt3bp3Ngn1vEYXwijGTa+FXz6GLHueJwF0I7ug34DgUkAFvAs8Hacr2DRYxL5RJ XdNgj4Jd2/g6T9InmWT0hASljur+dJnzNiNCkbn9KbX7J/qK1IbR8y560yRmFsU+ NdCFTW7wY0Fb1fWJ+/KTsC4= =J6gs -----END PGP PUBLIC KEY BLOCK-----
(2)注冊 SQL Server Ubuntu 存儲庫:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
輸出:
Hit:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal InRelease Get:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates InRelease [114 kB] Get:3 https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial InRelease [8,993 B] Get:4 https://packages.microsoft.com/ubuntu/20.04/mssql-server-2019 focal InRelease [3,057 B] Get:5 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-backports InRelease [108 kB] Get:6 https://packages.microsoft.com/ubuntu/20.04/mssql-server-2019 focal/main all Packages [717 B] Get:7 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security InRelease [114 kB] Get:8 https://packages.microsoft.com/ubuntu/20.04/mssql-server-2019 focal/main amd64 Packages [8,083 B] Get:9 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/main amd64 Packages [2,463 kB] Get:10 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/main Translation-en [420 kB] Get:11 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/main amd64 c-n-f Metadata [16.4 kB] Get:12 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/restricted amd64 Packages [1,713 kB] Get:13 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/restricted Translation-en [242 kB] Get:14 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/restricted amd64 c-n-f Metadata [620 B] Get:15 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/universe amd64 Packages [1,045 kB] Get:16 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/universe Translation-en [246 kB] Get:17 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/universe amd64 c-n-f Metadata [24.1 kB] Get:18 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/main amd64 Packages [2,082 kB] Get:19 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/main Translation-en [338 kB] Get:20 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/main amd64 c-n-f Metadata [12.5 kB] Get:21 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/restricted amd64 Packages [1,605 kB] Get:22 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/restricted Translation-en [227 kB] Get:23 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/restricted amd64 c-n-f Metadata [620 B] Get:24 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/universe amd64 Packages [820 kB] Get:25 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/universe Translation-en [164 kB] Get:26 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/universe amd64 c-n-f Metadata [17.5 kB] Fetched 11.8 MB in 1min 1s (193 kB/s) Reading package lists... Done
(3)運(yùn)行以下命令以安裝 SQL Server:
sudo apt-get update sudo apt-get install -y mssql-server
輸出:
Fetched 269 MB in 1min 33s (2,903 kB/s) Preconfiguring packages ... Selecting previously unselected package libdw1:amd64. (Reading database ... 72772 files and directories currently installed.) Preparing to unpack .../00-libdw1_0.176-1.1build1_amd64.deb ... Unpacking libdw1:amd64 (0.176-1.1build1) ... Selecting previously unselected package libbabeltrace1:amd64. Preparing to unpack .../01-libbabeltrace1_1.5.8-1build1_amd64.deb ... Unpacking libbabeltrace1:amd64 (1.5.8-1build1) ... Selecting previously unselected package gdb. Preparing to unpack .../02-gdb_9.2-0ubuntu1~20.04.1_amd64.deb ... Unpacking gdb (9.2-0ubuntu1~20.04.1) ... Selecting previously unselected package gdbserver. Preparing to unpack .../03-gdbserver_9.2-0ubuntu1~20.04.1_amd64.deb ... Unpacking gdbserver (9.2-0ubuntu1~20.04.1) ... Selecting previously unselected package libatomic1:amd64. Preparing to unpack .../04-libatomic1_10.3.0-1ubuntu1~20.04_amd64.deb ... Unpacking libatomic1:amd64 (10.3.0-1ubuntu1~20.04) ... Selecting previously unselected package libc++abi1-10:amd64. Preparing to unpack .../05-libc++abi1-10_1%3a10.0.0-4ubuntu1_amd64.deb ... Unpacking libc++abi1-10:amd64 (1:10.0.0-4ubuntu1) ... Selecting previously unselected package libc++1-10:amd64. Preparing to unpack .../06-libc++1-10_1%3a10.0.0-4ubuntu1_amd64.deb ... Unpacking libc++1-10:amd64 (1:10.0.0-4ubuntu1) ... Selecting previously unselected package libcc1-0:amd64. Preparing to unpack .../07-libcc1-0_10.3.0-1ubuntu1~20.04_amd64.deb ... Unpacking libcc1-0:amd64 (10.3.0-1ubuntu1~20.04) ... Selecting previously unselected package libsasl2-modules-gssapi-mit:amd64. Preparing to unpack .../08-libsasl2-modules-gssapi-mit_2.1.27+dfsg-2ubuntu0.1_amd64.deb ... Unpacking libsasl2-modules-gssapi-mit:amd64 (2.1.27+dfsg-2ubuntu0.1) ... Selecting previously unselected package libc++1:amd64. Preparing to unpack .../09-libc++1_1%3a10.0-50~exp1_amd64.deb ... Unpacking libc++1:amd64 (1:10.0-50~exp1) ... Selecting previously unselected package libc6-dbg:amd64. Preparing to unpack .../10-libc6-dbg_2.31-0ubuntu9.9_amd64.deb ... Unpacking libc6-dbg:amd64 (2.31-0ubuntu9.9) ... Selecting previously unselected package libsss-nss-idmap0. Preparing to unpack .../11-libsss-nss-idmap0_2.2.3-3ubuntu0.10_amd64.deb ... Unpacking libsss-nss-idmap0 (2.2.3-3ubuntu0.10) ... Selecting previously unselected package mssql-server. Preparing to unpack .../12-mssql-server_15.0.4298.1-1_amd64.deb ... Unpacking mssql-server (15.0.4298.1-1) ... Setting up libdw1:amd64 (0.176-1.1build1) ... Setting up libc6-dbg:amd64 (2.31-0ubuntu9.9) ... Setting up libatomic1:amd64 (10.3.0-1ubuntu1~20.04) ... Setting up libbabeltrace1:amd64 (1.5.8-1build1) ... Setting up libc++abi1-10:amd64 (1:10.0.0-4ubuntu1) ... Setting up gdbserver (9.2-0ubuntu1~20.04.1) ... Setting up libsss-nss-idmap0 (2.2.3-3ubuntu0.10) ... Setting up libsasl2-modules-gssapi-mit:amd64 (2.1.27+dfsg-2ubuntu0.1) ... Setting up libcc1-0:amd64 (10.3.0-1ubuntu1~20.04) ... Setting up libc++1-10:amd64 (1:10.0.0-4ubuntu1) ... Setting up gdb (9.2-0ubuntu1~20.04.1) ... Setting up libc++1:amd64 (1:10.0-50~exp1) ... Setting up mssql-server (15.0.4298.1-1) ... +--------------------------------------------------------------+ Please run 'sudo /opt/mssql/bin/mssql-conf setup' to complete the setup of Microsoft SQL Server +--------------------------------------------------------------+ Processing triggers for man-db (2.9.1-1) ... Processing triggers for libc-bin (2.31-0ubuntu9.9) ...
(4)包安裝完成后,運(yùn)行 mssql-conf setup,按照提示設(shè)置 SA 密碼并選擇版本。SQL Server 免費(fèi)提供許可的版本:
- Evaluation 版。
- Developer 版。
- Express 版。
sudo /opt/mssql/bin/mssql-conf setup
請記住為 SA 帳戶指定強(qiáng)密碼。 需要最小長度為 8 個(gè)字符,包括大寫和小寫字母、十進(jìn)制數(shù)字和/或非字母數(shù)字符號。
設(shè)置過程:
Choose an edition of SQL Server: 1) Evaluation (free, no production use rights, 180-day limit) 2) Developer (free, no production use rights) 3) Express (free) 4) Web (PAID) 5) Standard (PAID) 6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded 7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum 8) I bought a license through a retail sales channel and have a product key to enter. Details about editions can be found at https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409 Use of PAID editions of this software requires separate licensing through a Microsoft Volume Licensing program. By choosing a PAID edition, you are verifying that you have the appropriate number of licenses in place to install and run this software. Enter your edition(1-8): 3 The license terms for this product can be found in /usr/share/doc/mssql-server or downloaded from: https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409 The privacy statement can be viewed at: https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409 Do you accept the license terms? [Yes/No]:yes Enter the SQL Server system administrator password: Confirm the SQL Server system administrator password: Configuring SQL Server... The licensing PID was successfully processed. The new edition is [Express Edition]. ForceFlush is enabled for this instance. ForceFlush feature is enabled for log durability. Created symlink /etc/systemd/system/multi-user.target.wants/mssql-server.service → /lib/systemd/system/mssql-server.service. Setup has completed successfully. SQL Server is now starting.
- SQL Server的版本選擇:Express (free)。
- Do you accept the license terms? [Yes/No]:yes。
- SQL Server密碼:Fly123456。
(5)完成配置后,驗(yàn)證服務(wù)是否正在運(yùn)行:
systemctl status mssql-server --no-pager
輸出:
● mssql-server.service - Microsoft SQL Server Database Engine Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2023-03-30 03:08:42 UTC; 2min 19s ago Docs: https://docs.microsoft.com/en-us/sql/linux Main PID: 54788 (sqlservr) Tasks: 121 Memory: 796.3M CGroup: /system.slice/mssql-server.service ├─54788 /opt/mssql/bin/sqlservr └─55080 /opt/mssql/bin/sqlservr
三、安裝 SQL Server 命令行工具
若要?jiǎng)?chuàng)建數(shù)據(jù)庫,則需要使用可在 SQL Server 上運(yùn)行 Transact-SQL 語句的工具進(jìn)行連接。
(1)安裝 curl:
sudo apt-get update sudo apt install curl
(2)導(dǎo)入公共存儲庫 GPG 密鑰。
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
輸出:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 983 100 983 0 0 2482 0 --:--:-- --:--:-- --:--:-- 2482 -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.7 (GNU/Linux) mQENBFYxWIwBCADAKoZhZlJxGNGWzqV+1OG1xiQeoowKhssGAKvd+buXCGISZJwT LXZqIcIiLP7pqdcZWtE9bSc7yBY2MalDp9Liu0KekywQ6VVX1T72NPf5Ev6x6DLV 7aVWsCzUAF+eb7DC9fPuFLEdxmOEYoPjzrQ7cCnSV4JQxAqhU4T6OjbvRazGl3ag OeizPXmRljMtUUttHQZnRhtlzkmwIrUivbfFPD+fEoHJ1+uIdfOzZX8/oKHKLe2j H632kvsNzJFlROVvGLYAk2WRcLu+RjjggixhwiB+Mu/A8Tf4V6b+YppS44q8EvVr M+QvY7LNSOffSO6Slsy9oisGTdfE39nC7pVRABEBAAG0N01pY3Jvc29mdCAoUmVs ZWFzZSBzaWduaW5nKSA8Z3Bnc2VjdXJpdHlAbWljcm9zb2Z0LmNvbT6JATUEEwEC AB8FAlYxWIwCGwMGCwkIBwMCBBUCCAMDFgIBAh4BAheAAAoJEOs+lK2+EinPGpsH /32vKy29Hg51H9dfFJMx0/a/F+5vKeCeVqimvyTM04C+XENNuSbYZ3eRPHGHFLqe MNGxsfb7C7ZxEeW7J/vSzRgHxm7ZvESisUYRFq2sgkJ+HFERNrqfci45bdhmrUsy 7SWw9ybxdFOkuQoyKD3tBmiGfONQMlBaOMWdAsic965rvJsd5zYaZZFI1UwTkFXV KJt3bp3Ngn1vEYXwijGTa+FXz6GLHueJwF0I7ug34DgUkAFvAs8Hacr2DRYxL5RJ XdNgj4Jd2/g6T9InmWT0hASljur+dJnzNiNCkbn9KbX7J/qK1IbR8y560yRmFsU+ NdCFTW7wY0Fb1fWJ+/KTsC4= =J6gs -----END PGP PUBLIC KEY BLOCK-----
(3)注冊 Ubuntu 存儲庫。
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
(4)更新源列表,并使用 unixODBC 開發(fā)人員包運(yùn)行安裝命令。
sudo apt-get update sudo apt-get install mssql-tools unixodbc-dev
通過運(yùn)行以下命令將 mssql-tools 更新至最新版本:
sudo apt-get update sudo apt-get install mssql-tools
(5)將 /opt/mssql-tools/bin/ 添加到 PATH環(huán)境變量,以便可從 bash shell 訪問 sqlcmd 或 bcp。
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
或者
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
四、本地連接
使用 SQL Server 名稱 (-S)、用戶名 (-U) 和密碼 (-P) 的相應(yīng)參數(shù)運(yùn)行 sqlcmd。 用戶進(jìn)行本地連接,服務(wù)器名稱為 localhost。 用戶名為 sa,密碼是在安裝過程中為 SA 帳戶提供的密碼。
sqlcmd -S localhost -U sa -P '<YourPassword>'
可以在命令行上省略密碼,以收到密碼輸入提示。
如果以后決定進(jìn)行遠(yuǎn)程連接,請為 -S 參數(shù)指定計(jì)算機(jī)名稱或 IP 地址,并確保防火墻上的端口 1433 已打開。
(1)如果成功,應(yīng)會顯示 sqlcmd 命令提示符:
1>
(2)如果連接失敗,先嘗試診斷錯(cuò)誤消息中所述的問題。 然后查看連接故障排除建議。
五、創(chuàng)建和查詢數(shù)據(jù)
5.1、新建數(shù)據(jù)庫
(1)在 sqlcmd 命令提示符中創(chuàng)建一個(gè)名為 TestDB 的新數(shù)據(jù)庫。
CREATE DATABASE TestDB;
(2)查詢以返回服務(wù)器上所有數(shù)據(jù)庫的名稱:
SELECT Name from sys.databases;
(3)前兩個(gè)命令沒有立即執(zhí)行。 必須在新行中鍵入 GO 才能執(zhí)行以前的命令:
GO
輸出:
Name -------------------------------------------------------------------------------------------------------------------------------- master tempdb model msdb testDB (5 rows affected)
5.2、插入數(shù)據(jù)
(1)將上下文切換到新的 testDB 數(shù)據(jù)庫:
USE testDB;
(2)創(chuàng)建名為 dbo.Inventory 的新表:
CREATE TABLE dbo.Inventory ( id INT, name NVARCHAR(50), quantity INT);
(3)將數(shù)據(jù)插入新表:
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150); INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
(4)要執(zhí)行上述命令的類型 GO:
GO
5.3、查詢數(shù)據(jù)
(1)返回 dbo.Inventory 表中數(shù)量大于 152 的行:
SELECT * FROM dbo.Inventory WHERE quantity > 152;
(2)執(zhí)行g(shù)o命令:
GO
輸出:
id name quantity ----------- -------------------------------------------------- ----------- 2 orange 154 (1 rows affected)
5.4、退出 sqlcmd 命令提示符
要結(jié)束 sqlcmd 會話,請鍵入 QUIT:
QUIT
注意,沒有分號。
總結(jié)
如果有一臺可以連接到 Linux 計(jì)算機(jī)的 Windows 計(jì)算機(jī),請從運(yùn)行 sqlcmd 的 Windows 命令提示符嘗試執(zhí)行本主題中的相同步驟。 必須使用目標(biāo) Linux 計(jì)算機(jī)名稱或 IP 地址,而不是 localhost,并確保 TCP 端口 1433 已在 SQL Server 計(jì)算機(jī)上打開。 如果從 Windows 進(jìn)行連接存在任何問題,請參閱連接故障排除建議。
到此這篇關(guān)于Linux環(huán)境安裝SQL Server數(shù)據(jù)庫以及使用方法的文章就介紹到這了,更多相關(guān)Linux安裝SQLServer及使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SQLServer 2000 數(shù)據(jù)庫同步詳細(xì)步驟[兩臺服務(wù)器]
成功實(shí)現(xiàn)SQL Server 2000 數(shù)據(jù)庫同步[一臺服務(wù)器,一臺動態(tài)IP的備份機(jī)],詳細(xì)步驟說明。2010-07-07配置 SQL Server 2005 以允許遠(yuǎn)程連接的方法
在嘗試從遠(yuǎn)程計(jì)算機(jī)連接到 Microsoft SQL Server 2005 實(shí)例時(shí),可能會接收到錯(cuò)誤消息。在使用任何程序連接到 SQL Server 時(shí)都可能會發(fā)生此問題。2011-01-01c#連接數(shù)據(jù)庫及sql2005遠(yuǎn)程連接的方法
這篇文章主要介紹了c#連接sql數(shù)據(jù)庫及sql2005遠(yuǎn)程連接的方法,大家參考使用吧2014-01-01Sql Server中Substring函數(shù)的用法實(shí)例解析
在sqlserver中substring函數(shù)是用來處理字符串的,常用于字符串截取了,下面我來給大家介紹下Sql Server中Substring函數(shù)的用法實(shí)例解析,需要的朋友參考下吧2016-12-12在SQL Server中使用命令調(diào)用SSIS包的具體方法
在SQL Server中可以使用dtexec命令運(yùn)行SSIS包(2005以上版本),當(dāng)然也可以通過系統(tǒng)過程:xp_cmdshell調(diào)用dtexec運(yùn)行SSIS包2013-09-09