在 Azure Data Studio 中建立 Azure SQL Database 和連線
在線上卡片參考應用程式案例中,您將使用 Azure Data Studio 中的資料表設計工具,在 Azure SQL Database 中建置資料模型。
在此練習中,您將直接在瀏覽器中透過 Azure CLI 使用指令碼來部署 Azure SQL Database。 接下來,您將安裝 Azure Data Studio,並建立一條從 Azure Data Studio 到 Azure SQL Database 的連線。
使用 PowerShell 部署 Azure SQL Database
開始建立資料模型之前,您將必須先建立資料庫。 您可以透過 Azure Cloud Shell (位於此頁面右側) 來建立資料庫。 Azure Cloud Shell 是一種瀏覽器型的殼層體驗,它裝載在雲端中且幾乎可從任何位置存取。 其預先安裝了各種工具,例如 Azure CLI、Azure PowerShell 和 sqlcmd。
這些指令碼大約需要 3 到 5 分鐘的時間才能完成。 請務必記下您的密碼、唯一識別碼及區域,因為之後不會再次顯示這些資訊 (除非您存取 Azure 入口網站)。
首先取得本機公用 IP 位址。 確定已中斷與任何 VPN 服務的連線,並在裝置上開啟本機 PowerShell 終端。 執行下列命令,並記下產生的 IP 位址:
(Invoke-WebRequest -Uri "https://ipinfo.io/ip").Content
提示
如果您不在 Windows 裝置上,則需要使用別的方法找出 IP 位址。 在終端中,您可以執行
curl ifconfig.co
。為什麼您需要您的 IP 位址? 您將在稍後的步驟中開放對此資料庫的存取權,但僅限存取您的 IP 位址。
在 Cloud Shell 中執行下列命令。 輸入複雜密碼,然後在出現提示時輸入上一個步驟取得的本機公用 IP 位址。
注意
複雜密碼必須包含:
- 最少 8 個字元,最多 16 個字元
- 需要以下四項中的三項:
- 小寫字元
- 大寫字元
- 數字 (0 到 9)
- 符號 ( @ # $ % ^ & * - _ + = [ ] { } | \ : ‘ , . ? / ` ~ “ ( ) ; )
# Collect password $adminSqlLogin = "sqladmin" $password = Read-Host "Your username is 'sqladmin'. Please enter a password for your Azure SQL Database server that meets the password requirements" # Prompt for local ip address $ipAddress = Read-Host "Disconnect your VPN, open PowerShell on your machine and run '(Invoke-WebRequest -Uri "https://ipinfo.io/ip").Content'. Please enter the value (include periods) next to 'Address': " Write-Host "Password and IP Address stored"
在 Cloud Shell 中執行下列程式碼,然後將本課程模組所需的資訊輸出並儲存至文字檔中。 在貼上程式碼之後,您可能需要按 Enter,因為預設不會執行最後一行。
# Get resource group and location and random string $resourceGroupName = "<rgn>[sandbox resource group name]</rgn>" $resourceGroup = Get-AzResourceGroup | Where ResourceGroupName -like $resourceGroupName $uniqueID = Get-Random -Minimum 100000 -Maximum 1000000 $location = $resourceGroup.Location # The logical server name has to be unique in the system $serverName = "cardsserver$($uniqueID)" # The sample database name $databaseName = "carddatabase" Write-Host "Please note your unique ID for future exercises in this module:" Write-Host $uniqueID Write-Host "Your resource group name is:" Write-Host $resourceGroupName Write-Host "Your resources were deployed in the following region:" Write-Host $location Write-Host "Your server name is:" Write-Host $serverName
請記下您的密碼、唯一識別碼、區域及伺服器名稱。 您將會在整個課程模組中用到這些資訊。
執行下列指令碼,以部署空的 Azure SQL Database 執行個體和邏輯伺服器。 該指令碼也會將您的 IP 位址新增為防火牆規則,讓您可以透過 Azure Data Studio 存取資料庫。
# Create a new server with a system wide unique server name $server = New-AzSqlServer -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -Location $location ` -SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $adminSqlLogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force)) # Create a server firewall rule that allows access from the specified IP range and all Azure services $serverFirewallRule = New-AzSqlServerFirewallRule ` -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -FirewallRuleName "AllowedIPs" ` -StartIpAddress $ipAddress -EndIpAddress $ipAddress $allowAzureIpsRule = New-AzSqlServerFirewallRule ` -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -AllowAllAzureIPs # Create a database $database = New-AzSqlDatabase -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -DatabaseName $databaseName ` -Edition "Hyperscale" -Vcore 4 -ComputeGeneration "Gen5" ` -HighAvailabilityReplicaCount 0 Write-Host "Database deployed." Write-Host "------------------------------------------------------" Write-Host "Your database connect details for Azure Data Studio are:" Write-Host "Server: "$serverName".database.windows.net" Write-Host "User Name: "$adminSqlLogin Write-Host "Password: "$password Write-Host "Database: "$databaseName
指令碼需要幾分鐘才能完成。 先前程式碼區塊中有四個主要命令; 讓我們將其細分。 第一個命令會建立 Azure SQL Database 邏輯伺服器,此伺服器可以作為連線執行個體,也可以作為一種分組方式,將所有指派給該伺服器的資料庫中繼資料與原則設定加以分組。 接下來的兩個命令建立兩個防火牆規則:一個允許您的 IP 位址連線,另一個允許其他的 Azure 服務連線。 最後一個命令會部署資料庫至該邏輯伺服器。
從這些命令中,您可以得知 Azure SQL 資料庫是一個具有四個虛擬核心的超大規模資料庫。 Azure SQL Database 中的超大規模資料庫服務層級是適用於開發和生產工作負載的一個具成本效益的資料庫,它提供了以下的額外功能:
- 支援高達 100 TB 的資料庫大小
- 快速的資料庫備份 (根據儲存在 Azure Blob 儲存體中的檔案快照集),無論大小均不影響運算資源的 IO 效能
- 快速的資料庫還原 (根據檔案快照集),僅需數分鐘,而非數小時或數天 (不是資料作業的大小)
- 不論資料量為何,較高的交易記錄輸送量和較快的交易認可時間就會有較高的整體效能
- 快速相應放大;您可以佈建一或多個唯讀複本來卸載讀取工作負載,並用來作為熱待命
- 快速相應增加;您可以在有限的時間內視需要和在需要時相應增加計算資源以容納大量工作負載,然後在不需要時相應減少計算資源
如有任何問題或想確認資源已部署,您可以在 Azure 入口網站中檢閱您的部署。
將本機電腦設定為使用 Azure SQL Database 進行開發
在本節中,您將安裝 Azure Data Studio,以便在建立資料模型時可以使用資料表設計工具。
下載並安裝 Azure Data Studio
Azure Data Studio 是一個開放原始碼應用程式,可在任何平台 (Windows、Mac 或 Linux) 上管理 Azure SQL Database。 在本課程模組中,您將使用 Azure Data Studio 連線到 Azure SQL Database,並使用「資料表設計工具」。
使用 Azure Data Studio 連線至 Azure SQL Database
部署資料庫後,您可以透過許多方式連線資料庫,並與其互動:sqlcmd、Azure Data Studio、SQL Server Management Studio、入口網站中的查詢編輯器等。 在這裡,您將了解如何使用 Azure Data Studio 連線到資料庫。
開啟 Azure Data Studio。
從左側工作列選取 [連線]。 您可以在這裏建立及儲存您的所有資料庫連線。
在 [伺服器] 旁,選取 [新增連線] 按鈕 (看起來像一部有加號的伺服器)。
在開啟的 [連線詳細資料] 窗格中,填寫下列資訊:
提示
您可以在您剛才使用 Azure Cloud Shell 執行的 PowerShell 資料庫建立指令碼結尾找到伺服器、使用者名稱、密碼和資料庫的值。
連線類型:Microsoft SQL Server
伺服器:cardsserver[uniqueID].database.windows.net
驗證類型:SQL 登入
使用者名稱:sqladmin
密碼:您的密碼
記住密碼:核取方塊
資料庫:carddatabase
加密:強制性 (True)
信任伺服器憑證:True
伺服器群組:預設
名稱 (選用):保留空白選取 Connect。
成功連線後,您應可在 Azure Data Studio 的 [連線] 窗格中瀏覽資料庫的內容。