Gyakorlat – Az Azure SQL Database konfigurálása
Ebben a leckében üzembe helyez egy Azure SQL logikai kiszolgálót, és adatbázisokat hoz létre az Azure SQL Database biztonságossá tételéhez tárgyalt funkciók használatához.
Beállítás: Szkriptek használata az Azure SQL Database üzembe helyezéséhez
A jobb oldalon látható az Azure Cloud Shell, amely lehetővé teszi az Azure-ral folytatott interakciót egy böngésző segítségével. A gyakorlat megkezdése előtt egy szkriptet fog futtatni a Cloud Shellben, amely létrehozza a környezetet a mintaadatbázissal AdventureWorks
az Azure SQL Database-ben. A szkript kérni fogja az új adatbázis jelszavát és a helyi IP-címet, hogy lehetővé tegye az eszköze számára az adatbázishoz való csatlakozást.
A szkriptek végrehajtása három-öt percet vesz igénybe. Ügyeljen arra, hogy jegyezze fel a password
, unique ID
és region
, mert azok nem jelennek meg újra.
Először kérje le a helyi IP-címét. Győződjön meg arról, hogy le van választva bármely VPN-szolgáltatásról, és nyisson meg egy helyi PowerShell-terminált az eszközön. Futtassa az alábbi parancsot, és jegyezze fel az eredményül kapott IP-címet.
(Invoke-WebRequest -Uri "https://ipinfo.io/ip").Content
Futtassa az alábbi parancsokat a Cloud Shellben. Adjon meg egy összetett jelszót, majd amikor a rendszer kéri, írja be az előző lépéseben megállapított helyi nyilvános IP-címét. Cserélje le a "[tesztkörnyezeti erőforráscsoport neve]" kifejezést a következőre: "
[tesztkörnyezeti erőforráscsoport neve] ".$adminSqlLogin = "cloudadmin" $password = Read-Host "Your username is 'cloudadmin'. 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'. Enter the value (include periods) next to 'Address' " # Get resource group and location and random string $resourceGroup = Get-AzResourceGroup | Where ResourceGroupName -like "[sandbox resource group name]" $resourceGroupName = "[sandbox resource group name]" $uniqueID = Get-Random -Minimum 100000 -Maximum 1000000 $storageAccountName = "mslearnsa"+$uniqueID $location = $resourceGroup.Location # The logical server name has to be unique in the system $serverName = "aw-server$($uniqueID)"
Az alábbi kód Cloud Shellben való futtatásával rögzítheti és szövegfájlban tárolhatja azokat az információkat, amelyekre a modul során szüksége lesz. A kód beillesztése után valószínűleg le kell nyomnia a billentyűt
Enter
, mert az utolsó sor alapértelmezés szerint nem lesz futtatva.Write-Host "Your unique ID for future exercises in this module:" $uniqueID Write-Host "Your resource group name is:" $resourceGroupName Write-Host "Your resources were deployed in the following region:" $location Write-Host "Your server name is:" $serverName
Feljegyzés
Jegyezze fel a
password
,unique ID
ésregion
. Ezeket a modul során végig használni fogja.Futtassa a következő szkriptet egy Logikai Azure SQL Database-kiszolgáló üzembe helyezéséhez a
AdventureWorks
mintával, valamint egy olyan főkönyv-adatbázis üzembe helyezéséhez, amelyet a jövőbeli egységekben fogunk megvitatni. A szkript emellett tűzfalszabályként hozzáadja az IP-címet, engedélyezi az SQL-hez készült Microsoft Defendert, és létrehoz egy tárfiókot a jövőbeli egységekben való használatra. A szkript befejezésének engedélyezése néhány percig.# The sample database name $databaseName = "AdventureWorks" # The ledger database name $databaseName2 = "myLedgerDatabase" # The storage account name has to be unique in the system $storageAccountName = $("sql$($uniqueID)") # 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 databases $database = New-AzSqlDatabase -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -DatabaseName $databaseName ` -SampleName "AdventureWorksLT" ` -Edition "GeneralPurpose" -Vcore 2 -ComputeGeneration "Gen5" $database2 = New-AzSqlDatabase -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -DatabaseName $databaseName2 ` -Edition "GeneralPurpose" -Vcore 2 -ComputeGeneration "Gen5" # Enable Microsoft Defender for SQL $azureDefender = Enable-AzSqlServerAdvancedDataSecurity ` -ResourceGroupName $resourceGroupName ` -ServerName $serverName # Create a storage account $storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroupName ` -AccountName $storageAccountName ` -Location $location ` -Type "Standard_LRS"
Nyissa meg az SQL Server Management Studiót (SSMS), majd hozzon létre egy új kapcsolatot a logikai kiszolgálóval. A kiszolgáló neveként adja meg az Azure SQL Database logikai kiszolgálójának nevét (például aw-server.database.windows.net
<unique ID>
). Ha korábban nem mentette a nevet, akkor azt az Azure Portalon állapíthatja meg.Az adatbázis és a hozzá tartozó logikai kiszolgáló megtalálásához keressen rá az AdventureWorks kifejezésre az Azure Portalon.
Módosítsa a hitelesítést SQL Server-hitelesítésre, és adja meg a megfelelő kiszolgálói rendszergazdai bejelentkezést és jelszót, amelyet az üzembe helyezés során adott meg az előző gyakorlatban.
Jelölje be a Jelszó megjegyzése jelölőnégyzetet, majd válassza a Csatlakozás.
Feljegyzés
A helyi konfigurációtól (például VPN) függően az ügyfél IP-címe eltérhet az Azure Portal által az üzembe helyezés során használt IP-címtől. Ha valóban eltér, egy felugró üzenet jelenik meg a következő szöveggel: „Az ügyfél IP-címének nincs hozzáférése a kiszolgálóhoz. Jelentkezzen be egy Azure-fiókba, és hozzon létre egy új tűzfalszabályt a hozzáférés engedélyezéséhez." Ha ezt az üzenetet kapja, jelentkezzen be a tesztkörnyezethez használt fiókkal, és adjon hozzá egy tűzfalszabályt az ügyfél IP-címéhez. Ezeket a lépéseket az SSMS előugró varázslójának használatával is elvégezheti.
Miután csatlakozott az Azure SQL logikai kiszolgálóhoz, bontsa ki az Adatbázisok mappát.
Látnia kell a létrehozott két adatbázist,
AdventureWorks
ésmyLedgerDatabase
a . Kattintson a jobb gombbal az adatbázisramyLedgerDatabase
, és válassza az Új lekérdezés lehetőséget, majd futtassa a következő parancsot egy tábla létrehozásáhozAccount.Balance
. A lekérdezést a tálcán az Execute (Végrehajtás) gombra kattintva futtathatja.CREATE SCHEMA [Account]; GO CREATE TABLE [Account].[Balance] ( [CustomerID] INT NOT NULL PRIMARY KEY CLUSTERED, [LastName] VARCHAR (50) NOT NULL, [FirstName] VARCHAR (50) NOT NULL, [Balance] DECIMAL (10,2) NOT NULL ) WITH ( SYSTEM_VERSIONING = ON (HISTORY_TABLE = [Account].[BalanceHistory]), LEDGER = ON );