2018 年 12 月

第 33 卷 12

資料點-跨多個來源,使用 Azure Data Studio 管理資料

藉由Julie Lerman |2018 年 12 月

Julie Lerman幾乎在一年前,我向您介紹了新 SQL Operations Studio 的,這是適用於使用 SQL server 的各種類別的跨平台、 輕量級 IDE (bit.ly/2RlZKuW)。SQL Operations Studio 處於預覽狀態時,並因為經歷許多轉換。它正式發行的 Microsoft Ignite 研討會在 9 月,重新命名為 Azure Data Studio。雖然新的名稱並不表示的非 Azure SQL Server 使用消去法,個人希望它沒有建議,假以時日,我們可以使用其他類型的資料存放區,在 Azure 上的產品。相較於我撰寫了約一年前的版本,最大問: 新的版本是現已提供的擴充功能。

而不是重複存在於舊版中功能的相關資訊,請在本文中我會提供淺概觀您完全不熟悉應用程式,並探索部分引起我的開發人員大腦延伸模組。

Azure Data Studio 會為互補應用程式到 SQL Server Management Studio (SSMS),並著重於正在執行查詢的低影響方式計費。我認為會有的人同時使用兩者,使用 Azure Data Studio 此外尋找使用者子集的開發人員從未使用過 SSMS 基底。雖然一定有 Dba 感興趣的功能,SSMS 一定會深入了解管理工具。

Azure Data Studio 成長從跨平台 Visual Studio Code (VS Code) 和其 mssql 擴充功能的交集 — 這我撰寫了關於在 2017 年 6 月專欄中 (msdn.com/magazine/mt809115) — 最後將變成其本身應用程式。此外,VS Code 中,例如 Azure Data Studio 是開放原始碼,而且你參與github.com/microsoft/azuredatastudio

您可以將相關的安裝程式下載 Windows、 macOS 或 Linux,從bit.ly/2Rl14yl。為了讓您了解不同的安裝體驗是從 SSMS,Windows 應用程式的安裝程式檔案是 76 MB,為 800 MB 的 SSMS 17.9 和我的膝上型電腦上已安裝在兩分鐘內。VS Code 中,例如 Azure Data Studio 是透過其 JSON 組態檔,以及要完全可延伸可以輕鬆進行設定。Azure Data Studio 已經有十多個擴充功能,來自 Microsoft 的一些,一些來自社群。

繼承自 VS 程式碼的另一個重要功能是互動式終端機,您可以在其中執行從 PowerShell、 Bash 等跨平台 sqlcmd 命令列公用程式的 Cli 命令。Azure Data Studio 也會繼承 VS Code 檔案總管、 您所撰寫,可讓您與包含 SQL 之類的檔案的資料夾式專案互動或以文字為基礎的資料檔案。此外,您可以使用內建的原始檔控制來管理及共用這些專案。

我將不會移轉我撰寫了關於舊版的 SQL Operations Studio 或 mssql 文章中的 Azure Data Studio 功能。那里,您可以閱讀為內建的 SQL 片段,能夠建立您自己自訂的程式碼片段,這類功能和令人讚嘆的圖形功能,可讓您以視覺化方式檢視查詢結果,並甚至將其內嵌為伺服器或資料庫的儀表板上的自訂小工具.

使用 Azure Data Studio 的體驗是在所有支援的作業系統上相同。我將我 MacBook 很有趣,因為我希望換一下環境。因為我逐步的一些功能,我會假設您已熟悉瀏覽 VS Code 或較早版本的 SQL Operations Studio。

Azure Data Studio 可讓您連接到各種不同的 SQL Server 型別。您可以連線到內部部署伺服器上您的電腦或網路,localdb 執行個體,針對 Linux,Docker、 Windows 容器、 SQL Azure 或 SQL Azure 資料倉儲中執行的 SQL Server 的 SQL Server。另外還有提供最新發表 Azure SQL Database 受控執行個體的預覽支援。

我將從這裡開始藉由建立我的網路上的 SQL Server 的新連接。新增連線精靈] 提供連接表單,我會填滿所需的資訊。我要使用 SQL 驗證,並提示以記住我的密碼。我在連線之後,Azure 資料 Studio 伺服器總管] 會列出可用的資料庫 ([圖 1),如資料表、 檢視、 可程式性的節點,安全性和其他您習慣看到,如果您使用 SSMS。您可以以滑鼠右鍵按一下資料表,以檢視或編輯資料,並且建立指令碼,存在於 SQL Operations Studio 的功能。 

[伺服器總管] 中顯示其預設管理視窗的連線的網路 SQL Server
[圖 1 顯示其預設管理視窗的連線的網路 SQL Server 的伺服器總管]

使用 AI 的一般檔案匯入

SQL Server 匯入擴充功能,也就是 Microsoft 保留本過去的夏天黑客松的結果,目前為預覽狀態,並可以已匯入一般資料 TXT 和 CSV 檔案。最後,它也能夠匯入 JSON 檔案。

是沒有催生此匯入的功能,而且由使用新的技術,來自 Microsoft Research 稱為程式合成使用範例,artifical 智慧 (AI) 或文字 (microsoft.github.io/prose)。如 Alan Yu,SQL Server 專案經理,說 PROSE 」 可以自動偵測檔案的資料類型、 分隔符號、 資料行名稱和檔案結構,使用者不需明確定義的組態。 」

雖然 「 匯出至 CSV、 JSON 或 XLSX 功能並不是新 (但它們的圖示也比之前 slicker),我要開始匯出,以展示一般檔案匯入。若要取得一些資料來匯出,我已使用資料表內容功能表選取前 1000 個選項來選取所有資料列中的 HumanResources.Employee 資料表內嘗試證實 AdventureWorks 資料庫。[圖 2可讓您查看內容功能表中的,[查詢] 窗格中,以及結果] 窗格,以及從選取項目所產生的 [訊息] 窗格。顯示與所有這些窗格的格式可以輕鬆地設定相同的方式設定 VS Code (bit.ly/2lEaFoc)。事實上,有超過 350 個自訂項目,您可以對設定中會影響 Azure Data Studio 的運作方式 !映像中的紅色箭號會註明 「 匯出至 CSV 圖示,我用來建立名為 HREmp.csv 的檔案。匯出 CSV 檔案的預設設定會在輸出中包含的資料行名稱。這在手,我現在可以顯示關閉我已安裝的一般檔案匯入延伸模組。

Azure Data Studio 匯出時的完整檢視選取的資料列至 CSV
[圖 2 的 Azure Data Studio,將選取的資料列匯出至 CSV 時的完整檢視

延伸模組會將您以滑鼠右鍵按一下 [伺服器總管] 中的資料庫時收到的內容功能表中的 [匯入精靈] 的功能表項目。如同 VS Code 中,每個函式會具有鍵盤命令 (這是 Ctrl + I),而是從命令選擇區 (F1) 存取。

將新的資料表,不會有的資料匯入為匯入功能。表單可讓您指定的伺服器和資料庫 (預設為您稍早所選取),新的資料表匯入的名稱與結構描述的檔案。然後,它會顯示它的解譯方式,從檔案的前 50 個資料列的預覽。擴充功能,讓它看起來非常簡易,但請記住,magic 是現在有了 AI,稍早所述的文字。

預覽資料之後的下一個步驟可讓您有機會變更資料對應至資料行的方式。您可以修改推斷的資料行名稱和資料類型,以及設定主索引鍵和資料行的 null 屬性。雖然您目前無法執行像是移除或加入資料行,請記得,我稍早連結至應用程式的 GitHub 存放庫中建立擴充功能。小組會知道哪些檔案格式的 eager 和您想要查看其他相關的功能。您可以參與討論區,在bit.ly/2IXv8wd

OMG,跨平台的 SQL 程式碼剖析 !

另一個也是早期預覽如我在撰寫本文的延伸模組是 SQL Server Profiler 的延伸。資料庫分析是開發任何應用程式的重要步驟。我已經存在數十年的以 Windows 為基礎的 SSMS Profiler 獨立應用程式大量使用。即便如此,我仍然相當笨拙的使用,取得我想要套用 「 魔術字串"等等的篩選條件的資料行。我不知道是否它已不斷更新。我也利用.NET Core 在我的應用程式,以查看傳送至資料庫的 SQL 登入功能。事實上,我的上一篇專欄是關於 EF Core 記錄 (msdn.com/magazine/mt830355)。但是,有時我真的希望資料庫的角度來看。所以我不是在 Windows 上,或不在可使用分析工具的電腦上,如果我遺失。因此,此延伸模組是跨平台應用程式的一部分覺得對我來說幾乎神奇。

撰寫分析工具擴充功能時使用的 SQL Server 資料庫的功能稱為 「 擴充事件 (XEvents)。另外還有一窺 SQL Azure 的 Xevent。您可以閱讀更多有關在 XEvents bit.ly/2LfWMoj。延伸模組的讀我檔案指出它所著重的 SQL Profiler 使用案例的子集:

  • 逐步執行問題查詢來找出問題的原因。
  • 尋找並診斷執行緩慢的查詢。
  • 擷取造成問題的 TRANSACT-SQL 陳述式系列。
  • 監視 SQL Server,來微調工作負載的效能。
  • 若要診斷問題的效能計數器相互關聯。

您可以開始分析工作階段之前,您需要先連接到資料庫。然後您可以開啟的程式碼剖析工具的延伸模組 (Alt + P 或 Ctrl + Opt + P)。您將會提示您選取的工作階段範本,並提供工作階段的名稱。三個範本隨附 Azure Data Studio:Standard_OnPrem、 Standard_Azure 或 TSQL_OnPrem。TSQL 則會顯示記錄的 TSQL,預先定義的標準範本會顯示所有事件。這些範本會定義在設定中,指定可以轉送的事件,並套用篩選條件。您可以在設定中,以及建立您自己的工作階段範本。

分析工具會在它自己的編輯器視窗中開啟,並自動啟動。您可以停止並重新啟動分析工具隨時使用其按鈕或鍵盤快速鍵: Alt + S 鍵 (Windows) 或 Ctrl + Opt + S (Mac)。

一開始,當我嘗試啟動分析工具,我收到錯誤訊息指出 「 使用者沒有執行此動作的權限。 」 這是因為我已建立 SQL 登入具有有限的權限。請記住,我是開發人員,而不是 DBA。我可以修正可授與我的登入的 ALTER TRACE 權限。除了程式碼剖析我的網路資料庫,我稍後會切換到程式碼剖析執行 Azure Data Studio 所在相同 MacBook 上執行的 Docker 容器中的 Linux 資料庫的 SQL 伺服器。(請參閱我的文件,網址msdn.com/magazine/mt784660若要深入了解在 Docker 中的 SQL Server。)

作為**[圖 3**顯示標準輸出會顯示所有事件,其中,如果您曾經使用 SSMS 程式碼剖析工具,您就會知道可以是非常多對話。建立工作階段之後,您可以微調具有兩個下拉式清單顯示的內容。第一個下拉式清單可讓您選取從您的自訂工作階段或三個預先定義工作階段 (AlwaysOn_health、 system_health 和 telemetry_xevents) 內建 SQL Server。您可以找到有關什麼 system_health 工作階段中,追蹤的詳細資訊,例如在bit.ly/2xZcFuP

顯示所有的事件從查詢的許多詳細資料的標準檢視
[圖 3 顯示所有的事件從查詢的許多詳細資料的標準檢視

請注意,您無法變更程式碼剖析工具執行時的工作階段。

第二個下拉式清單中提供擷取事件的不同的檢視:Standard、 TSQL、 調整、 TSQL_Locks 或 TSQL_Duration。每個檢視是事件篩選和顯示的資料行的組合。比方說,TSQL 檢視只會顯示 EventClass、 TextData、 SPID 與 StartTime,如中所示**[圖 4**。[微調] 檢視顯示的四個資料行,以及 DatabaseID、 DatabaseName、 ObjectType 和 LoginName。工作階段範本,例如檢視範本也會在 [設定預先定義讓您可以編輯以建立您自己的檢視,然後在下拉式清單上可用的設定。

TSQL 檢視會顯示最少的資訊,只有 SQL 事件
[圖 4 TSQL 檢視會顯示最少的資訊,只有 SQL 事件

進一步了解如何使用分析工具,但因為它仍是早期預覽,預期您在閱讀本文章時,會有新的功能,供您瀏覽。

使用 SQL Server 2019 預覽延伸模組的資料科學

SQL Server 2019,目前處於預覽狀態,有一些有趣的新功能,與巨量資料。要隨著,是 SQL Server 2019 (也處於預覽狀態),可讓您利用這些功能在 IDE 中的 Azure Data Studio 擴充功能。此組合中,使用 Azure Data Studio 也成為一個工具適用於資料科學家。SQL Server 2019 提供資料搭配 Spark Hadoop 分散式檔案系統 (HDFS) 叢集的叢集和 Azure Data Studio 可讓您查詢這項資料 (SQL) 與關聯式資料。SQL Server 2019 也可讓您連接到,並將外部資料,例如的虛擬化從 MongoDB 或 Oracle。您可以查詢此資料,以及一次連接。使用 Azure Data Studio 您可以查詢跨這兩個關聯式且可擴充的資料來源,即使在查詢中加入這些資源。Azure Data Studio 也可讓您建立和使用 Spark notebook,您可以在此封裝,並分享您的資源連線和查詢。這些巨量資料功能會非常熟悉,如果它們是您,也會高建議開頭為五分鐘影片bit.ly/2zTgkMl,在 SQL Server 團隊使用 Azure Data Studio 和此擴充功能來示範巨量資料功能。

瀏覽從 Azure Data Studio 的 Azure 資源

Azure Data Studio 和它的前身一直無法連線到 SQL Azure。但沒有瀏覽您的 SQL Azure 資源,並輕鬆地連接到它們的新功能。這項功能在 SQL Server 2019 延伸模組中啟動,但現在是核心應用程式的一部分。在 [活動] 列上沒有 Azure 標誌圖示。第一次您使用您將會提示您登入 Azure,並允許 Azure Data Studio,來連接它。然後,如中所示**[圖 5**,此檢視會列出所有的帳戶和,底下的所有 Azure SQL 伺服器和資料庫內的伺服器。然後您可以選取連接的資料庫,其會預先填入的連接形式。您應該只需要提供是連接到資料庫的密碼。在我的案例中,我還必須啟用 [我的 IP 位址,若要連線,但擴充功能逐步解說我的。我不必開啟 Azure 入口網站,挑出格。

瀏覽您的 SQL Azure 與 SQL Server 2019 擴充功能的資源
瀏覽您的 SQL Azure 的 [圖 5 使用 SQL Server 2019 延伸模組的資源

說到連接到 SQL Azure,我在上一篇文章中,SQL Operations Studio 上處理時,我加入小組讓使用者可以從入口網站複製 Azure SQL 連接字串,並以某種方式將其貼到 Azure Data Studio,以在 GitHub 中建議連線的另一個簡單方式。這現在是 Azure Data Studio,擴充功能不屬於內建功能。而且它是非常酷。如果您複製的連接字串,從入口網站中,然後在 [Azure Data Studio 中,按一下 [建立新連線] 圖示 (或這樣做,透過命令選擇區中),連接表單會預先填入所有的連接字串的詳細資料。當我這麼做時,已填入的密碼,即使它不是在我所建立的連接字串。Azure Data Studio 必須記住,從先前的連線我對進行了另一個 Azure SQL database。

多個延伸模組

我已反白顯示三個 appealed 我身為開發人員的擴充功能。但是我想確定您了解部分其他延伸模組,其中有些會吸引開發人員和 Dba。RedGate 建立 SQL 搜尋延伸模組。Microsoft 建置了 Adam Machanic sp_whoisactive 周圍的擴充功能活動監視工具。它也會針對 SQL Server 代理程式,Azure SQL 倉儲資料的深入資訊建立擴充功能和伺服器報表,其中包括,例如,資料庫空間和緩衝區的使用方式、 CPU 使用率和等候計數。  取得更多的深入解析和合併指令碼有 mvp 的延伸模組。如果您是鍵盤快速鍵風扇,您會想要從 SSMS 的熱門 keymaps 匯 Kevin Cunnane 從 SQL Server 工具團隊所建立的 Azure Data Studio 的擴充功能。

如果您想要建置擴充功能,您可以在文件中找到說明bit.ly/2zTkROR

我已經安裝在我工作的每一部電腦上的 Azure Data Studio。桌上型電腦和膝上型電腦、 Windows 和 macOS。我甚至讓它在 Windows 桌面電腦我有完整的 SQL Server 和已安裝 SSMS 並尋找,我要觸達 Azure Data Studio 在該電腦上經常會超過 SSMS 因為我通常執行的工作的本質。


Julie LermanMicrosoft 地區主管、 Microsoft MVP、 軟體小組指導,以及位於 Vermont 山區顧問。您可以找到其呈現在資料存取和使用者群組和所做的心得世界各地的其他主題。在她部落格thedatafarm.com/blog和以及 Code First DbContext 版本中的,所有從 O'Reilly Media 是"程式設計 Entity Framework"的作者。在 Twitter 上關注她: @julielerman ,請參閱在她 Pluralsight 課程juliel.me/PS 影片

感謝下列 Microsoft 技術專家來檢閱這篇文章:Alan Yu
Alan Yu 是 Microsoft 的 Azure 資料小組程式經理。他適用於建立開放原始碼和跨平台工具的 SQL Server 和雲端資料庫,包括 Azure Data Studio,命令列工具,例如 mssql cli 和叢集系統管理員入口網站體驗 SQL Server 2019。若要遵循他的小組正致力於令人興奮的項目,請遵循@AlanYuSQL在 Twitter 上。


MSDN Magazine 論壇中的這篇文章的討論