Megosztás a következőn keresztül:


Az Azure SQL Database használata az Azure DevOps Serverrel

Azure DevOps Server | Azure DevOps Server |Azure DevOps Server 2022 | Azure DevOps Server 2020

A cikkben ismertetett lépésekkel konfigurálhatja az Azure DevOps Servert Azure SQL Database. Ez a topológia néhány további lépést tartalmaz a helyszíni SQL Server használatához képest.

Előfeltételek

Kategória Követelmények
Az Azure DevOps Server verziója Az Azure SQL Database csak az Azure DevOps Server 2019 és újabb verzióival használható.
Telepítési környezet Azure-beli virtuális gépen telepített Azure DevOps Server.
hitelesítés A virtuális gép (VM) rendszer által felügyelt identitással rendelkezik, amely az Azure SQL-adatbázis hitelesítésére szolgál.
Tartománytagság A virtuális gép tartományhoz csatlakozik, munkacsoporthoz nem.
adatbázistípus Az Azure SQL-adatbázisok önálló adatbázisok. A felügyelt példányok és a rugalmas készletek támogatottak az Azure DevOps Server 2022-ben és az újabbakban.
tűzfalszabályok Az Azure SQL Database tűzfalszabályai engedélyezik a bejövő kapcsolatokat azon IP-címről vagy alhálózatról, ahol az Azure DevOps Server üzemel. Ehhez lépjen a következőre: Azure Portal>Azure SQL Database>Beállítások>Tűzfalak és virtuális hálózatok> adjon hozzá egy új szabályt az Azure DevOps Server nyilvános IP-címéről vagy alhálózatáról való hozzáférés engedélyezéséhez.
Eszközök - Az Azure SQL Database ki van építve és elérhető az Azure-ból. A kiszolgáló nevének, az adatbázis nevének és a hitelesítési módszernek a rekordja.
– Helyszíni környezetben futó Azure DevOps Server 2022.
– Az SSMS ugyanazon a gépen van telepítve, amelyen az Azure DevOps Server telepítve van.

Minden általános célú és prémium termékváltozat támogatott, valamint standard SKU S3 és újabb. Az alapszintű termékváltozatok és a Standard termékváltozatok S2 azonban nem támogatottak.

Az Azure SQL Database-t használó Azure DevOps Server-konfigurációk nem támogatják az öröklött SQL Server Reporting Services szolgáltatást SQL Server Analysis Services jelentési funkciókkal. Ehelyett az Azure DevOps Analyticset használhatja jelentéskészítéshez és elemzéshez.

Az Azure SQL Database nem támogatja a titkosított tárolt eljárásokat.

Az Azure SQL Database beállítása

  1. Felügyelt identitás konfigurálása a virtuális gépeken. Jelenleg csak a rendszer által felügyelt identitásokat támogatjuk.

    A konfigurációt az összes szabványos mechanizmussal futtathatja, beleértve a következőket:

  2. Új Azure DevOps Server-példány beállításához hozzon létre két Azure SQL-adatbázist:

    • AzureDevOps_konfiguráció
    • AzureDevOps_DefaultCollection
  3. Konfigurálja a Microsoft Entra ID-hitelesítést az Azure SQL Database-kiszolgálóhoz. Saját maga legyen a Microsoft Entra rendszergazdája a kiszolgálón. A fennmaradó konfigurációs lépések végrehajtásához rendszergazdai engedélyekre van szüksége az adatbázisban. Ezt az engedélyt később módosíthatja.

    egy. Futtassa a következő T-SQL-parancsot a fő adatbázisban. Cserélje le a VMName nevet annak a virtuális gépnek a nevére, amelynek a felügyelt identitását hozzáadta az adatbázishoz:

    CREATE USER [VMName] FROM EXTERNAL PROVIDER
    ALTER ROLE [dbmanager] ADD MEMBER [VMName]
    

    b. Futtassa a következő T-SQL-parancsot a konfiguráción és az összes gyűjteményadatbázison:

    CREATE USER [VMName] FROM EXTERNAL PROVIDER  
    ALTER ROLE [db_owner] ADD MEMBER [VMName]  
    ALTER USER [VMName] WITH DEFAULT_SCHEMA=dbo
    

    Az adatbázis mostantól lehetővé teszi a virtuális gép számára a felügyelt identitáson keresztüli kommunikációt.

    Jegyzet

    Ha módosítja az Azure-beli virtuális gépet, például visszaállít egy pillanatképet vagy átnevezi a virtuális gépet, visszaállítja a kapcsolatot:

Az Azure DevOps Server konfigurálása

Térjen vissza az Azure DevOps Server konfigurációs varázslóhoz. Ha új példányt állít be, válassza a Ez egy új Azure DevOps Server üzembe helyezés. Ha frissít vagy migrál, és meglévő adatokkal rendelkezik az adatbázisokban, válassza a meglévő adatbázisok használatát az Azure DevOps Server telepítéséhez.

Amikor a konfigurációs varázsló Adatbázis lapjára ér, adja meg az Azure SQL Database kiszolgálópéldányát. A kiszolgálópéldány általában SQLInstanceName.database.windows.net formájában van.

Most már rendelkezik egy Azure DevOps Server-példánysal, amely az Azure SQL Database-en fut.

Csatlakozás Azure SQL-adatbázishoz a helyszíni SSMS-ből

A helyszíni SSMS-ből származó Azure SQL-adatbázishoz való csatlakozáshoz kövesse az alábbi lépéseket:

  1. SQL Server Management Studio (SSMS) használatával exportálás a virtuális gépről, amely ugyanabban a virtuális hálózatban fut, mint egy privát végpont, SQL-ből a blobtárolóba vagy fájlmegosztásba.

    Képernyőkép az Adatréteg exportálása alkalmazás kiválasztására szolgáló kiemelt gombokat jeleníti meg.

  2. Az SQL Server Management Studio Adatrétegek exportálása alkalmazásvarázslóval exportálhatja az Azure SQL-adatbázist egy .bacpac fájlba. A .bacpac fájlt az Azure Blob Storage-ban vagy fájlmegosztásban tárolhatja.

    Képernyőkép az adatbázis exportálásának bevezető képernyőjéhez.

  3. Az SSMS >Feladatok>Adatrétegű alkalmazás exportálása varázslóból válassza ki a logikai SQL Server sql-adatbázisát jobb gombbal.

    Képernyőkép a bacpac fájl tárolási helyének megadásáról az Exportálási beállítások képernyőn.

  4. Válassza Következőlehetőséget.

    Képernyőkép a megadott beállítások összegzését mutatja.

  5. Válassza ki a BACPAC-fájl tárolásának helyét.

    Képernyőkép a művelet teljes üzenetét és eredményoldalát jeleníti meg.

  6. Válassza bezárása lehetőséget.

A DAC-csomagok itt találhatók: C:\Users\{sample-user-name}\OneDrive - Microsoft\Documents\SQL Server Management Studio\DAC Packages.

Az Azure SQL Database csatlakoztatása az Azure DevOps Server 2022-ből

Az Azure SQL Database azure DevOps Server 2022-ből (helyszíni) való csatlakoztatása magában foglalja a hozzáférés konfigurálását, a kapcsolat biztosítását és a megfelelő hitelesítő adatok használatát. Hajtsa végre az alábbi lépéseket az Azure SQL Database Azure DevOps Server 2022-ből való csatlakoztatásához.

Csatlakozás az Azure SQL Database-hez

  1. Azure SQL Database kapcsolati adatainak lekérése:

    • Kiszolgáló neve: <your-server-name>.database.windows.net
    • Adatbázis neve: <your-database-name>
    • Hitelesítési módszer: SQL Server-hitelesítés (felhasználónév/jelszó) vagy Microsoft Entra ID-hitelesítés.
  2. Csatlakozás az SQL Server Management Studio (SSMS) használatával: a. Nyissa meg az SQL Server Management Studiót azon a gépen, amelyen az Azure DevOps Server telepítve van. b. Csatlakozás az Azure SQL Database-hez: c. Indítsa el az SSMS-eket. d. A Csatlakozás kiszolgálóhoz ablakban:

    • Adja meg a kiszolgáló nevét: <your-server-name>.database.windows.net
    • Válassza a Hitelesítés: SQL Server-hitelesítés lehetőséget.
    • Adja meg a felhasználónevet és a jelszót.
    • Válassza a Csatlakozás lehetőséget. Csatlakozás után az Azure SQL Database az SSMS Object Explorer alatt található.
  3. Kapcsolat tesztelése: Lekérdezés vagy parancs végrehajtása az SSMS-ben:

     SELECT @@VERSION;
    

    Ez a lekérdezés az Azure SQL Database SQL Server-verzióját adja vissza, megerősítve, hogy a kapcsolat sikeres.

  4. Kapcsolat használata az Azure DevOps Serverben: Miután ellenőrizte az SSMS-ből való kapcsolatot, ezt a kapcsolatot az Azure DevOps Serveren használhatja különböző feladatokhoz, például:

    • Automatizált üzembe helyezés: Kiadási folyamatok beállítása az Azure DevOps Serveren az adatbázis-módosítások üzembe helyezéséhez.
    • Adatmigrálás: Az Azure DevOps Serverrel integrált SQL-szkriptek vagy adateszközök használata.
    • Folyamatos integráció: Adatbázis-módosítások integrálása a CI/CD-folyamatokba.

Borravaló

  • Legyen biztonságos: Fontolja meg a Microsoft Entra ID használatát a biztonságosabb hozzáférés érdekében.
  • Hitelesítő adatok kezelése: Biztonságosan tárolhatja a hitelesítő adatokat, és elkerülheti a szkriptekben vagy konfigurációkban való keménykódolást.
  • Monitor: Az adatbázis-kapcsolatok és -használat monitorozása a biztonság és a teljesítmény biztosítása érdekében.

Csatlakoztassa az Azure SQL Database-t a helyszínen futó Azure DevOps Server 2022-ből, így egyszerűbb adatbázis-kezelést és integrációt tesz lehetővé a fejlesztési és üzembehelyezési folyamatokkal. A konfigurációkat és a biztonsági intézkedéseket a szervezet szabályzatai és követelményei alapján módosíthatja.

Az Azure SQL Database-kapcsolat használata az Azure DevOps Server 2022-ben

  1. Azure DevOps Server előkészítése:
    a. Győződjön meg arról, hogy telepítve és konfigurálva van az Azure DevOps Server 2022 a helyszíni környezetben.</
    b. Hozzáférés az Azure DevOps Serverhez a folyamatok létrehozásához és kezeléséhez szükséges engedélyekkel.

  2. Azure DevOps-projekt és -adattár beállítása (ha még nem tette meg):
    a. Hozzon létre egy újat, vagy használjon egy meglévő Azure DevOps-projektet.
    b. Állítson be egy Git- vagy TFVC-adattárat a folyamatdefiníciók és szkriptek tárolásához.

  3. Folyamat létrehozása:
    a. Nyissa meg az Azure DevOps-projektet.
    b. Válassza a csővezetékeket>csővezetékeket>Új csővezeték.
    c. A követelményeknek megfelelően válassza ki a megfelelő folyamatsablont. Az Azure SQL Database esetében üres feladattal kell kezdenie, vagy kiválaszthat egy sablont, amely megfelel az üzembe helyezési igényeknek (például Az Azure Pipeline).
    d. Szerkessze a folyamat YAML-fájlját, vagy használja a klasszikus szerkesztőt a folyamat szakaszainak és feladatainak meghatározásához.

  4. Üzembe helyezendő feladatok hozzáadása az Azure SQL Database-ben:

    • feladat: SQL Server-adatbázis üzembe helyezése: A SqlAzureDacpacDeployment feladat használatával telepíthet módosításokat az Azure SQL Database-ben. Példa YAML-kódrészletre:

      steps:
      - task: SqlAzureDacpacDeployment@1
        inputs:
          azureSubscription: 'YourServiceConnectionName'  # Use your Azure SQL Database service connection
          serverName: '<your-server-name>.database.windows.net'
          databaseName: '<your-database-name>'
          deployType: 'DacpacTask'
          authenticationType: 'server'
          sqlUsername: '$(sqlUsername)'
          sqlPassword: '$(sqlPassword)'
      

      Cserélje le <your-server-name>, <your-database-name>, $(sqlUsername)és $(sqlPassword) megfelelő értékre vagy változóra.

    • feladat: Azure SQL Query: A AzureSqlQuery feladat használatával SQL-lekérdezéseket futtathat az Azure SQL Database-en. Példa YAML-kódrészletre:

      steps:
      - task: AzureSqlQuery@1
       inputs:
         azureSubscription: 'YourServiceConnectionName'  # Use your Azure SQL Database service connection
         serverName: '<your-server-name>.database.windows.net'
         databaseName: '<your-database-name>'
         sqlUsername: '$(sqlUsername)'
         sqlPassword: '$(sqlPassword)'
         sqlQuery: 'SELECT * FROM TableName'
      
  5. Hitelesítő adatok biztonságos kezelése: Az Azure DevOps változóinak vagy az Azure Key Vault-integrációnak a használatával kezelheti az olyan bizalmas információkat, mint az SQL Server hitelesítő adatai (sqlUsername és sqlPassword).

  6. Folyamat aktiválása és futtatása:

    • Mentse és véglegesítse a folyamat módosításait.
    • Indítsa el manuálisan a folyamatot, vagy állítson be eseményindítókat (például kód véglegesítésére, ütemezésére) az üzembe helyezési stratégiának megfelelően.
  7. Folyamatvégrehajtás figyelése:

    • Monitorozza a folyamatfuttatásokat az Azure DevOpsban, hogy az Azure SQL Database-ben történő üzembe helyezés sikeres legyen.
    • Tekintse át a naplókat és kimeneteket az üzembe helyezés során felmerülő problémák elhárításához.

Borravaló

  • Integrálás a kiadási folyamatokkal: A buildfolyamatot kiadási folyamatokkal integrálhatja összetettebb üzembehelyezési forgatókönyvek és jóváhagyások érdekében.
  • Növekményes adatbázis-módosítások végrehajtása: Az adatbázisséma növekményes módosításainak kezeléséhez használjon olyan eszközöket, mint az SQL Server Data Tools (SSDT) vagy az áttelepítés.
  • Verziókövetés használata: Az SQL-szkriptek és adatbázis-módosítások verziókövetés alatt tartása a változások nyomon követéséhez és a reprodukálhatóság biztosításához.

A konfigurációkat és a feladatokat az adott üzembehelyezési igények és a szervezeti követelmények alapján módosíthatja.

SQL Server biztonsági mentésének létrehozása

Az Azure DevOps Server 2022 sql serveres biztonsági mentésének létrehozása az Azure DevOps Server felügyeleti konzoljával magában foglalja a biztonsági mentési beállítások konfigurálását és a rendszeres biztonsági mentések ütemezését. Hajtsa végre az alábbi lépéseket az SQL Server biztonsági mentésének létrehozásához.

A biztonsági mentés előfeltételei

Kategória Követelmények
Hozzáférés rendszergazda hozzáférést ahhoz a kiszolgálóhoz, amelyen az Azure DevOps Server telepítve van.
engedélyek A biztonsági mentések konfigurálásához és az SQL Server Management Studióhoz való hozzáféréshez szükséges engedély.

Biztonsági mentés létrehozása

  1. Indítsa el az Azure DevOps Server felügyeleti konzolját azon a kiszolgálón, amelyen az Azure DevOps Server telepítve van, és válassza alkalmazásszint>ütemezett biztonsági mentések>Ütemezett biztonsági mentések létrehozásalehetőséget.

    Képernyőkép az ütemezett biztonsági mentés létrehozásához a felügyeleti konzol kijelölési gombjait jeleníti meg.

  2. Adja meg a hálózati biztonsági mentés elérési útját, majd válassza a Következőlehetőséget.

    Képernyőkép a megadott hálózati biztonsági mentési útvonalról.

  3. Válassza ki a kívánt e-mail-riasztásokat, majd válassza a Továbblehetőséget.

    Képernyőkép a kiemelt Tovább gombról a hálózati biztonsági mentési útvonal létrehozásának folyamatához.

  4. Válasszon biztonsági mentési ütemezést a követelményeknek megfelelően, majd válassza a Következőlehetőséget.

    Képernyőkép a kijelölt biztonsági mentés ütemezését és a Kiemelt Tovább gombot jeleníti meg.

  5. Erősítse meg a konfigurációs beállításokat, és válassza az Ellenőrizzelehetőséget.

    Képernyőkép a konfigurációs beállítások képernyőjén a kiemelt Ellenőrzés gombról.

    A Biztonsági mentések varázsló ellenőrzi, hogy a biztonsági mentési útvonal létezik-e, és hálózati elérési út-e.

    Képernyőkép a készültségi ellenőrzés folyamatáról.

Hibák elhárítása

Ha készenlét-ellenőrzési hiba történt, a hibaelhárítással kapcsolatos segítségért tekintse meg az alábbi információkat.

Hiba: Szolgáltatásfiók-hozzáférés

A készültség ellenőrzése során környezeti hibát ábrázoló képernyőkép.

Hibaüzenet:TF401009: The Azure DevOps service account NT AUTHORITY\LOCAL SERVICE cannot access network shares. Change to an account that can access the backup path. Ez a hiba akkor fordul elő, ha a szolgáltatásfiók NT AUTHORITY\LOCAL SERVICE.

Képernyőkép az NT Authority Local Service alkalmazásszint-összefoglalásáról.

megoldás:

  1. Hozzon létre egy helyi felhasználót a szükséges hozzáférési engedélyekkel. Képernyőkép az újonnan létrehozott helyi felhasználóról és hozzáférésről.

  2. Az Azure DevOps Server felügyeleti konzolján lépjen az alkalmazásszint képernyőjére, és válassza a Fiókváltáslehetőséget.

  3. Módosítsa a szolgáltatásfiókot az újonnan létrehozott helyi felhasználói fiókra. Képernyőkép az új felhasználói csoporttagságokról.

  4. A biztonsági mentési folyamat ismételt végrehajtása a biztonsági mentés sikeres létrehozásához és a készültségi ellenőrzések újrafuttatásához. Képernyőképen az összes ellenőrzés sikeres volt.

    Sikeres biztonsági mentési konfiguráció:

    A biztonsági mentés sikeres konfigurálásának képernyőképe.

    Ütemezett biztonsági mentési naplók:

    Képernyőkép az ütemezett biztonsági mentési naplók fájljairól.

    Felügyeleti konzol ütemezett biztonsági mentései:

    Képernyőkép az ütemezett biztonsági mentések képernyőjét megjelenítő felügyeleti konzolról.

Hiba: Naplófájl

Képernyőkép egy kiemelt hivatkozásról, amely lehetővé teszi a teljes biztonsági mentés azonnali elvégzését.

Példa naplófájl helye:

C:\ProgramData\Microsoft\Azure DevOps\Server Configuration\Logs\Azure_DevOps_Server_Scheduled Backups_0627_192409.log

Példa naplófájl hibaüzenete:

[7/1/2024 7:28:37 AM] [Error]``Exception Message: The backup of the file or filegroup "LeadingKey" is not permitted because it is not online. Container state: "Offline" (7). Restore status: 0. BACKUP can be performed by using the FILEGROUP or FILE clauses to restrict the selection to include only online data.``BACKUP DATABASE is terminating abnormally. (type SqlException)

megoldás:

  • A biztonsági mentés végrehajtása előtt győződjön meg arról, hogy az összes fájlcsoport online állapotban van.

    LeadingKeyOffline példa:Képernyőkép az adatbázis tulajdonságairól és a LeadingKey adatbázisfájlról.

  • Tesztelje a biztonsági mentési folyamatot SQL-lekérdezésekkel az adott fájlcsoportokkal kapcsolatos problémák azonosításához és megoldásához.