作 者:楊先民
審 稿:張智凱
借助SQL Server 2017,Microsoft進入了對SQL Server的多操作系統平台支持的世界。
對於許多技術專業人員而言,能夠在與其他應用程式的開源操作系統上運行SQL Server的能力不僅是微軟的目標,而且Microsoft也實現了這個夢想。
以下是微軟教育平台架構師作為長期的Linux資料庫管理員(DBA),在這篇文章之中,它提供了最有關的五個重要的重點領域,以使得微軟資料庫的專業人士在進
入Linux的時後會變的更加的熟悉。
1.擁抱命令行
是的,Linux有一個圖形用戶界面(GUI),但是Linux中也有命令行規則。我們不能足夠強調學習如何導航目錄(cd),更改權限(chmod)和列出內容(ls)的重要性。
您最好的朋友將成為任何命令的-h參數,以獲取您嘗試使用的幫助選單。
了解如何安裝和更新服務器和應用程序(apt-get,yum和zypper)非常重要,因為您不僅要對數據庫層執行此任務,而且還要對服務器執行應用程序(如果Linux管理員尚未在您組織的工作人員中。
您還將需要學習如何更新現有的PowerShell腳本以在Linux上運行,或者學習如何編寫BASH腳本。通常,這是通過終端編輯器完成的,最好的方法之一是VI / VIM。知道如何使用VI將使您在使用Linux時具有信譽,並在進行關鍵工作甚至日常任務時避免過多的問題。
2.了解你的作業作系統
Linux的各種不同的發行版本是從原始發行版本發展而來的。每個發行版雖然非常相似,但可能都有其獨特的要求和怪癖。
了解哪種分佈最適合企業部署,可以確保你部署到環境中的內容可以承受業務對環境的需求。僅僅在二十年前,Unix DBA還在任何版本的Linux上都不願開發關連式資料庫。
在那個時候,每個發行版都有很長的路要走,但是許多發行版都有其目的。
如果我們採用一種非常特殊的Debian風格,即Raspbian,它是專門為運行Raspberry Pis的操作系統而設計的,Raspberry Pis是一台高級RISC機器(ARM)處理器計算機。
了解Raspbian與企業Linux發行版(例如企業紅帽,企業SUSE和Ubuntu)非常重要。僅僅因為您可以讓SQL Server在不受支持的Linux發行版(例如CentOS)上運行,並不意味著您應該在它們上運行業務。堅持使用受支持的版本,並且定期發布的新功能將使用戶體驗更加令人滿意。
3.使用您已經擁有的工具
僅僅因為SQL Server在Linux上運行並不意味著你以前用於管理,監視和查詢的強大工具將不再使用或是不再起作用。身為一位DBA,你仍然可以使用SQL Server Management Studio(SSMS),並且最好使用Azure Data Studio連接到Linux SQL Server 2019資料庫。但是不能將Server Management Studio安裝到Linux上,但是可以使用Server Management Studio
創建Windows“跳轉框”並將其配置為管理任務的主要登錄點。開發人員仍可以使用帶有SQL Server擴展名的Visual Studio Code訪問Linux上的SQL Server 2019,並充分利用SQL Server Data Tools(SSDT)。
由於這是Linux,因此命令行仍然是相當的重要。Sqlcmd可用於從Linux服務器上登錄以執行查詢,運行腳本和執行管理。Sqlcmd在Linux版本中沒有更改,執行腳本與以下示例一樣簡單,該腳本以admin用戶身份登錄資料庫和密碼,然後運行腳本並將其全部記錄在一個簡單的文本文件中:
sqlcmd -U $ username -S $ servername -P $ spassword -d $ database -i $ script.sql> $ logfile
4.利用新工具建立現有知識
PowerShell會定期通過新版本在Linux上佔據中心位置,因此,請保持這些技能的敏銳性並進行一些更改,您今天使用的許多腳本都可以更新為在Linux上的SQL Server 2019上運行。儘管sqlcmd可以滿足您查詢命令行的需求,但該鎮中有一個名為mssql-cli的新工具。
此安裝是一個簡單的在線命令:
sudo pip安裝mssql-cli
如果安裝有任何問題,Linux通常會告訴您必須再次安裝什麼庫或工具依賴項,然後才能再次運行安裝才能成功,這通常是很好的。
永遠記住,如果您遇到困難,可以隨時獲得幫助以提供幫助:
mssql-cli –h
要登錄資料庫,需要執行以下操作:
mssql-cli -U $用戶名-S $服務器名-P $密碼-d $資料庫
如果您注意到該命令與我們用於sqlcmd rest easy的示例非常相似,那麼您所關注的世界並沒有發生太大變化。登錄mssql-cli後,您將可以使用它來訪問Linux內部的SQL Server 2019資料庫。
借助IntelliSense自動完成功能,多行編輯和元數據存儲庫等功能,使剛開始在Linux上使用SQL Server 2019的用戶可以更輕鬆地使用命令行。
mssql-cli中有一些限制,例如不存在執行腳本或發送輸出的功能,但是在sqlcmd中以本地方式運行的相同查詢將在此處運行。需要注意的是,此新工具尚處於起步階段,並且仍會按常規發佈時間表成熟。
第三個新工具並不是新工具,而是繼SQL Server Management Studio之後成為DBA的下一個強大工具,它被稱為Azure Data Studio。如果您沒有使用專門為資料庫專業人士設計的跨平台工具,那您肯定會錯過的。不再需要32位元的界面,這是一個具有IntelliSense,代碼控制集成和可自定義儀表板的現代界面。
最大的好處是可以在Linux上安裝它,而無需本地安裝或跳轉框。支持所有三個主要的Linux發行版以及Mac OS安裝。雲實施不太可能需要的資料庫管理任務(例如本地物理管理,備份等)仍將需要SQL Server Management Studio,但是如果您是自動化的下一代雲管理員的一部分在平凡的許多方面,那麼Azure Data Studio是必須的。
5.考慮容器的力量
在Linux和SQL Server 2019中,添加了具有Kubernetes支持的大數據集群。使用容器的原因很多,包括簡化部署,易於管理和恢復更快,但隨後在此基礎上添加大資料集群,它成為了強大的動力。
帶有Kubernetes的容器為DBA提供了管理資料庫的機會,而無需為每個節點或節點組(也稱為Pod)增加單獨的OS層。每個數據庫需要分配的資源更少,並且無需附加層,它可以更快地恢復。
使用Kubernetes或類似的分類容器編排,可以部署大數據集群,然後管理SQL Server,Apache Spark™和Hadoop分佈式文件系統(HDFS)的集群。然後使用Polybase通過SQL Server虛擬化來自各種數據源的數據,而HDFS數據池可以用作使用Apache Spark™的所有大數據的數據湖。SQL Server主實例簡化了管理,包括對所有數據的讀取,寫入和處理,無論其來源如何,都是SQL Server 2019 Linux版中令人興奮的新領域。
上面的列表僅列出了使用SQL Server 2019在Linux中學習和建立技能的重要機會。微軟提供了許多資源,包括這本不可思議的新Packt電子書介紹了Microsoft SQL Server 2019。不要錯過下一代SQL Server。了解所有內容,並讓Microsoft幫助您到達那裡。如果您準備過渡到完全託管的雲解決方案,請查看《雲中數據的基本指南》。