Gyakorlat – Az Azure SQL Database konfigurálása

Befejeződött

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.

  1. 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
    
  2. 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)"
    
  3. 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és region. Ezeket a modul során végig használni fogja.

  4. 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"
    
  5. 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.

    Képernyőkép az SQL Database-hez való csatlakozásról az SSMS-ben.

    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.

  6. Miután csatlakozott az Azure SQL logikai kiszolgálóhoz, bontsa ki az Adatbázisok mappát.

  7. Látnia kell a létrehozott két adatbázist, AdventureWorks és myLedgerDatabasea . 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
    );