SQL Server On Linux(3)——SQL Server 2019 For Linux 下载并部署示例数据库
本人新書上市,請多多關照:《SQL Server On Linux運維實戰(zhàn) 2017版從入門到精通》
??接上文SQL Server On Linux(2)——SQL Server 2019 For Linux安裝過程細節(jié)研究
正所謂工欲善其事必先利其器,讀者可能也跟作者一樣很迫切希望了解和嘗試SQL Server On Linux及SQL 2019的各種新特性,不過為了走得更遠,并且少踩坑,作者還是建議先把路踏踏實實地鋪好。當我們有一個可用的環(huán)境之后,不妨先把示例數據庫準備好。
??很多人應該知道,使用時間最長的微軟示例數據庫是AdventureWorks,目前這個數據庫已經更新到2017版,另外還有幾個特殊的示例數據庫,不過這里暫時還是使用AdventureWorks做演示。
??接下來作者打算演示的方式有以下3種,本文使用前兩種(第三種以后演示),讀者可以按照實際需要選擇更合適自己的方式:
??首先來演示較為方便并且也是官方推薦的方式,先下載到Windows再傳到Linux。說明一下,由于Linux的權限控制比Windows更嚴格,所以除非你用root操作,不然可能期間會出現很多權限不足的情況,需要提前授權。通常來說,我們需要對操作系統(tǒng)的文件系統(tǒng)(Windows叫盤符/文件夾)進行規(guī)劃,有些內容是建議專用的。比如專用的文件(比如腳本、工具)存放目錄、專用的備份文件存放目錄、生產庫的數據庫文件存放目錄,建議不要使用默認設置,而是專門創(chuàng)建目錄來存放。相關內容放到后續(xù)章節(jié)再詳解。
??一般需要授權的地方有:Linux上存放Windows傳輸過來的文件的目錄、在Linux上實際存放備份的目錄、還原/附加后數據庫文件所在的目錄。
Windows→Linux
??這個方式不僅適用示例數據庫,幾乎所有的文件傳輸都可以使用,畢竟作為非服務器使用時,Windows更便捷。在過去,微軟的示例數據庫可以從CodePlex網站上下載,但是從AdventureWorks2014開始,已經移到github中。下載地址可以訪問:https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks 。因為這里演示的是Windows的下載,所以我們直接下載即可,這個就不演示了。本文選擇AdventureWorks2017.bak做演示。因為這個文件是放在亞馬遜云上,所以國內下載比較麻煩,作者需要點好多次才能下載。
??因為Windows和Linux之間不能像純Windows機器那樣使用UNC直接訪問,所以需要工具,官方的方式比較麻煩,作者嘗試了WinSCP感覺方便很多。WinSCP下載地址:https://winscp.net/eng/index.php ,簡單安裝完之后,打開登錄界面,輸入Linux登錄信息:
??登錄成功后,會看到類似下圖的樣子,下圖是已經直接定位到文件所在盤符(左邊是Windows)及目標文件目錄(右邊為Linux目錄):
??在圖中直接把鼠標選中文件然后拉過去就可以實現傳輸。傳輸完成后,用ls命令查看/tmp目錄,可以看到文件已經存放完成,下圖是傳輸前后的對比:
??在正式環(huán)境下,應該先合理規(guī)劃各種目錄再進行,但是這里先簡化這些內容,在后面服務器管理章節(jié)再詳解。
前面的SQL Server On Linux(1)——CentOS 7 安裝SQL Server2019中提到,sql server on linux的默認數據庫文件目錄在/var/opt/mssql/data下,我們可以直接還原到這里,注意在本系列過程中絕大部分操作是使用root進行,所以權限問題很少,但是如果在生產環(huán)境,那么就需要進行權限控制。秉著前期簡化的目的,作者盡量選擇簡單的方式去實現一些并非非常必要的操作。所以這里使用SQL Server On Linux(1)——CentOS 7 安裝SQL Server2019提到的SQL Operations Studio來進行還原,當然也可以使用熟悉的SSMS來操作:
??進行還原,這個步驟跟SSMS幾乎一樣:
??還原成功后,在SQL Server On Linux的默認數據文件目錄下可以看到已經有新數據庫的mdf和ldf文件:
??到目前為止,已經實現了示例數據庫的還原,接下來我們演示一下直接在Linux上進行操作。
Linux上直接部署
??為了做對比,這次換另外一個示例數據庫AdventureWorksLT2017.bak進行:
??Linux的命令行操作跟Windows有很明顯的區(qū)別,你很難進行簡單的鼠標點擊來完成操作,所以我們需要得到文件的下載鏈接,并且確保已經安裝了可用的Linux下載文件命令(一般使用wget,但是作者使用的CentOS 7 沒有自帶,所以使用yum install wget來安裝)。在Windows網頁中點擊所需的文件,根據瀏覽器和下載軟件的不同可能會直接開始下載或者彈出下載對話框進行操作,總之,我們的目標是獲取實際下載鏈接。
??在下載過程中,發(fā)現出現拒絕訪問的情況,根據經驗,作者把github在離中國最近(目前知道是新加坡)的ip地址加進服務器的/etc/hosts中:
??然后進行下載,下載過程使用命令:
??下載過程如下圖:
??下載完成后,在/tmp目錄下可以看到備份文件:
??然后把數據庫還原:
??對于本系列后續(xù)可能使用到的新數據庫,可以用以上兩種方式來獲取。在本文中,作者使用的是最最簡單的方式,所以有很多操作是沒有表現出來。比如把文件從Windows放到Linux的一個臨時目錄,然后使用mv命令把文件移到專用的備份文件存放目錄。還有對應的授權命令等等。這些在后續(xù)過程或多或少會演示,讀者可以先掌握最簡單的方式,免得進度太慢影響激情。
總結
??本文演示了如何在Windows和Linux上下載并部署微軟示例數據庫AdventureWorks到Linux上的SQL Server中,這是一個環(huán)境準備過程,目的是為了后續(xù)研究之用。
??接下來繼續(xù)進行基礎配置,首先是Linux的初步配置(畢竟是基石),至于SQL Server層面的介紹,經過考慮,還是嵌套在其他文章當中,必要時候再提取出來總結。要注意配置跟優(yōu)化類似,沒有真正的“一勞永逸”,只有具體情況具體分析才是最好的方式。
總結
以上是生活随笔為你收集整理的SQL Server On Linux(3)——SQL Server 2019 For Linux 下载并部署示例数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公式编辑器打的文字上浮怎么办?
- 下一篇: 基于Nucleo-F401RE点个灯(K