Gyakorlat – Az Azure SQL Database üzembe helyezése és konfigurálása

Befejeződött

Az Azure SQL Database kiváló választás üzemeltetési, tranzakciós és hibrid elemzési számítási feladatokhoz.

A bus-catching forgatókönyvben az Azure SQL Database-t választottuk ki, mivel az egy modern képességekkel rendelkező nagyvállalati adatbázis, például a JSON és a térinformatikai támogatás.

Itt üzembe helyezi az Azure SQL Database-t szkriptekkel, csatlakozik hozzá az Azure Data Studióban, és beállítja az adatbázist a forgatókönyvhöz a T-SQL használatával. Ezután megismerkedhet a JSON és a térinformatikai támogatással a busz elfogásával kapcsolatban.

Az Azure SQL Database üzembe helyezése a PowerShell használatával

Ahhoz, hogy beállíthassa az adatbázist a buszfelfogó forgatókönyvhöz, először üzembe kell helyeznie egy adatbázist, amellyel dolgozhat. Ehhez az Azure Cloud Shellt fogja használni. A Cloud Shell az Azure Portalon keresztül is elérhető, és lehetővé teszi az Azure-erőforrások létrehozását és kezelését. Különböző eszközökkel van előre telepítve, beleértve az Azure CLI-t, az Azure PowerShellt és az sqlcmd-et. Ebben a gyakorlatban az Azure PowerShellt fogja használni, de ugyanezeket a feladatokat az Azure CLI-vel is elvégezheti. 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. Mindenképpen írja fel a jelszavát, az egyedi azonosítóját és a régiót, mert ezek nem fognak újra megjelenni.

Tipp.

A CTRL Shift + V billentyűkombinációval + illessze be a parancsokat a Cloud Shellbe. A CTRL + V nem működik.

  1. Először szerezze be a helyi nyilvános IP-címet. Győződjön meg arról, hogy nem kapcsolódik egy VPN-szolgáltatáshoz sem, majd 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
    

    Tipp.

    Ha nem Windows-eszközön van, egy másik módszerrel kell megkeresnie az IP-címét. A terminálban futtathatja a következőt curl ifconfig.co: .

  2. Futtassa az alábbi parancsokat a Cloud Shellben. Adjon meg egy összetett jelszót , és a parancssorban adja meg a helyi nyilvános IP-címet, amelyet az előző lépésben kapott.

    Feljegyzés

    Az összetett jelszónak a következőkből kell állnia:

    • Legalább 8 karakter és legfeljebb 16 karakter
    • A következő 4-ből 3 szükséges:
      • Kisbetűk
      • Nagybetűk
      • Számok ( 0-9 )
      • Szimbólumok ( @ # $ % ^ & * - _  + = [ ] { } | \ : ' , . ? / ' ~ " ( ) ; )
    # Collect password 
    $adminSqlLogin = "cloudadmin"
    $password = Read-Host "Your username is 'cloudadmin'. 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"
    
  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 az Enter billentyűt kell lenyomnia, mert az utolsó sor alapértelmezés szerint nem lesz futtatva.

    # 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 = "bus-server$($uniqueID)"
    # The sample database name
    $databaseName = "bus-db"    
    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
    

    Ne felejtse el feljegyezni a jelszót, az egyedi azonosítót és a régiót. Ezeket a modul során végig használni fogja.

  4. Futtassa a következő szkriptet egy üres Azure SQL Database-példány és logikai kiszolgáló üzembe helyezéséhez. A szkript tűzfalszabályként is hozzáadja az IP-címet, hogy hozzáférhessen az adatbázishoz.

    # 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 "GeneralPurpose" -Vcore 4 -ComputeGeneration "Gen5" `
        -ComputeModel Serverless -MinimumCapacity 0.5
    Write-Host "Database deployed."
    

    A szkript futása több percig is eltarthat. Az előző blokkban négy fő parancs található; Bontsuk le őket. Az első parancs létrehoz egy Logikai Azure SQL Database-kiszolgálót, amely a kiszolgálóhoz rendelt összes adatbázis metaadatainak és szabályzatbeállításainak csoportosítására szolgál. A következő két parancs két tűzfalszabályt hoz létre: egyet az IP-cím csatlakoztatásának engedélyezéséhez, a másik pedig a többi Azure-szolgáltatás csatlakozásának engedélyezését. Ez a beállítás különösen akkor hasznos, ha CI/CD-folyamatokat állít be az Azure DevOps és/vagy a GitHub Actions használatával.

    Az utolsó parancs üzembe helyez egy adatbázist a logikai kiszolgálón. A parancsok alapján megállapíthatja, hogy az adatbázis az Általános célú szolgáltatásszinten van négy virtuális maggal, a kiszolgáló nélküli számítási szinten pedig 0,5 és 4 közötti virtuális magokkal. A kiszolgáló nélküli számítási szint időszakos, kiszámíthatatlan használatra szolgál, és az átlagos számítási kihasználtság idővel alacsonyabb. A kiszolgáló nélküli számítási szint automatikus számítási skálázást biztosít a teljesítménykezelés egyszerűsítése érdekében, és csak a felhasznált számítási mennyiségért kell fizetnie. A kiszolgáló nélküli számítási szint az automatikus szüneteltetést és az újralépést is támogatja a további ároptimalizálás érdekében. Az adatbázis szüneteltetésekor csak a tárterületért kell fizetnie. A kiszolgáló nélküli számítási szint nagyszerű megoldás a buszos fogási forgatókönyvhöz, mivel a fejlesztési fázisban van (nem használják 24/7-ben), és nem ismert, hogy milyen népszerű lesz az indításkor (mennyi számításra lesz szüksége).

    Ha bármilyen probléma merül fel, vagy meg szeretné erősíteni az erőforrások üzembe helyezését, tekintse át az Azure Portalon.

Csatlakozás az Azure SQL Database-be az Azure Data Studióval

Az adatbázis üzembe helyezése után számos módon csatlakozhat és kezelheti az adatbázist: sqlcmd, Azure Data Studio, SSMS, a portál lekérdezésszerkesztője stb. Itt megtudhatja, hogyan csatlakozhat az adatbázishoz az Azure Data Studióval.

Feljegyzés

A helyi konfigurációtól függően (például VPN-en) az Azure Data Studio kérheti, hogy adja hozzá az IP-címét a kiszolgáló tűzfalához. Az IP-címet az Azure Portal kiszolgálói tűzfalához a jelen cikkben ismertetett lépések végrehajtásával adhatja hozzá.

  1. Nyissa meg az Azure Data Studiót, és győződjön meg arról, hogy a kódtár mappa meg van nyitva a tevékenységsáv Explorer ikonjának kiválasztásával. Ha nem látja a kódfájlokat, térjen vissza az előző gyakorlathoz a környezet konfigurálásához.

  2. Válassza ki a tevékenységsáv Csatlakozás. Az adatbázis-kapcsolatok itt hozhatók létre és tárolhatók.

  3. A Kiszolgálók mellett válassza az Új Csatlakozás ion gombot (úgy néz ki, mint egy pluszjellel rendelkező kiszolgáló).

  4. A megnyíló Csatlakozás ion Details panelen adja meg a következő információkat:
    Csatlakozás ion típusa: Microsoft SQL Server
    Kiszolgáló: bus-server[uniqueID].database.windows.net
    Hitelesítési típus: SQL-bejelentkezés
    Felhasználónév: cloudadmin
    Jelszó: az Ön jelszava
    Jelszó megjegyzése: Jelölőnégyzet
    Adatbázis: bus-db
    Kiszolgálócsoport: Alapértelmezett
    Név (nem kötelező): üresen hagyva

  5. Válassza a Kapcsolódás lehetőséget.

  6. A sikeres kapcsolat létrejötte után képesnek kell lennie az adatbázis tartalmának navigálására a Csatlakozás ions panelen.

Az adatbázis sémájának beállítása A T-SQL használatával

Ha bármilyen adatbázishoz csatlakozik, általában üzembe kell helyeznie az adatbázissémát, és táblák létrehozásával testre kell szabnia az adatbázist a forgatókönyv követelményeinek megfelelően. Az Azure Data Studióban egy SQL-jegyzetfüzetben található T-SQL-szkriptek sorozatával konfigurálhatja az adatbázist az alkalmazás támogatásához és néhány kezdeti buszhoz kapcsolódó adat betöltéséhez.

  1. Az Azure Data Studióban válassza az Explorer ikont a tevékenységsávon.

  2. A mappa alatt nyissa meg 01-set-up-database.ipynba elemetdatabase\notebooks.

  3. A gyakorlat elvégzéséhez kövesse az SQL-jegyzetfüzet lépéseit, majd térjen vissza ide.

Buszadatok feldolgozása az Azure SQL Database-lel

Most, hogy az adatbázis konfigurálva lett, ideje részletesebben is megismerkedni azzal, hogy az Azure SQL Database hogyan fogja fogadni a valós idejű JSON-adatokat, és hogyan tárolja azokat az adatbázisban. Szerencsére az Azure SQL Database JSON-támogatással rendelkezik, így könnyen kezelhető. Ezután az Azure SQL Database térinformatikai képességeivel megkeresheti a buszok közötti távolságokat, meghatározhatja és tárolhatja a földrajzi halmazokat, és akár azt is megállapíthatja, hogy egy busz egy adott földrajzi területen belül van-e. Az ilyen alapokkal az alkalmazásfejlesztés jelentősen egyszerűbbé válik. Ez a gyakorlat az előző tevékenységhez hasonlóan egy SQL-jegyzetfüzetben lesz végrehajtva az Azure Data Studióban.

  1. Az Azure Data Studióban válassza az Explorer ikont a tevékenységsávon.

  2. A mappa alatt nyissa meg 02-json-geospatial-sql-db.ipynba elemetdatabase\notebooks.

  3. A gyakorlat elvégzéséhez kövesse az SQL-jegyzetfüzet lépéseit, majd térjen vissza ide.