Sdílet prostřednictvím


Použití Azure SQL Database s Azure DevOps Serverem

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

Pomocí kroků v tomto článku nakonfigurujte Azure DevOps Server se službou Azure SQL Database. Tato topologie má v porovnání s použitím místního SQL Serveru několik dalších kroků.

Požadavky

Kategorie Požadavky
Verze Azure DevOps Serveru Azure SQL Database je možné používat jenom s Azure DevOps Serverem 2019 a novějšími verzemi.
Instalační prostředí Azure DevOps Server nainstalovaný na virtuálním počítači Azure
Autentizace Virtuální počítač má povolenou identitu spravovanou systémem, která se používá k ověřování v databázi Azure SQL.
Členství v doméně Virtuální počítač je připojený k doméně, ale ne k pracovní skupině.
Typ databáze Databáze Azure SQL jsou izolované databáze. Spravované instance a elastické fondy se podporují v Azure DevOps Serveru 2022 a novějším.
pravidla brány firewall Pravidla brány firewall služby Azure SQL Database umožňují příchozí připojení z IP adresy nebo podsítě, kde je hostovaný Azure DevOps Server. Pokud to chcete udělat, přejděte do Azure Portal>Azure SQL Database>Nastavení>Brány firewall a virtuální sítě> a přidejte nové pravidlo, které povolí přístup z veřejné IP adresy nebo podsítě vašeho Azure DevOps Serveru.
nástroje – Služba Azure SQL Database je zřízená a přístupná z Azure. Záznam názvu serveru, názvu databáze a metody ověřování
– Azure DevOps Server 2022 spuštěný ve vašem místním prostředí.
– SSMS nainstalovaný na stejném počítači, na kterém je nainstalovaný Azure DevOps Server.

Podporují se všechny SKU pro obecné účely a Premium, stejně jako SKU úrovně Standard S3 a vyšší. Základní SKUs a Standardní SKUs S2 se ale nepodporují.

Konfigurace Azure DevOps Serveru, které používají Azure SQL Database, nepodporují starší verzi služby SQL Server Reporting Services s funkcemi generování sestav služby SQL Server Analysis Services. Místo toho můžete pro vytváření sestav a analýz použít Azure DevOps Analytics.

Azure SQL Database nepodporuje šifrované uložené procedury.

Nastavení služby Azure SQL Database

  1. Nakonfigurujte spravovanou identitu na virtuálních počítačích. V tuto chvíli podporujeme pouze identity spravované systémem.

    Konfiguraci můžete spustit pomocí všech standardních mechanismů, včetně následujících:

  2. Pokud chcete nastavit novou instanci Azure DevOps Serveru, vytvořte dvě databáze Azure SQL:

    • AzureDevOps_Configuration
    • AzureDevOps_DefaultCollection
  3. Nakonfigurujte ověřování Microsoft Entra ID pro váš server Azure SQL Database. Vytvořte si na serveru správce Microsoft Entra. K dokončení zbývajících kroků konfigurace potřebujete oprávnění správce databáze. Toto oprávnění můžete později změnit.

    a. V hlavní databázi spusťte následující příkaz T-SQL. Nahraďte název virtuálního počítače názvem virtuálního počítače, jehož spravovanou identitu přidáte do databáze:

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

    b) V konfiguraci a všech databázích kolekcí spusťte následující příkaz T-SQL:

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

    Vaše databáze teď umožňuje virtuálnímu počítači komunikovat přes spravovanou identitu.

    Poznámka:

    Pokud provedete změny virtuálního počítače Azure, jako je obnovení snímku nebo přejmenování virtuálního počítače, a chcete obnovit připojení:

Konfigurace Azure DevOps Serveru

Vraťte se do průvodce konfigurací Azure DevOps Serveru. Pokud nastavíte novou instanci, vyberte Toto je nové nasazení Azure DevOps Serveru. Pokud upgradujete nebo migrujete a máte v databázích existující data, vyberte Existující databáze, které se mají použít pro toto nasazení Azure DevOps Serveru.

Když se v průvodci konfigurací dostanete na stránku Databáze , zadejte instanci serveru Azure SQL Database. Instance serveru je obvykle ve formě SQLInstanceName.database.windows.net.

Teď máte instanci Azure DevOps Serveru, která běží ve službě Azure SQL Database.

Připojení k databázi Azure SQL z místního SSMS

Následujícím postupem se připojte k databázi Azure SQL z místní služby SSMS:

  1. Exportujte přes SQL Server Management Studio pomocí SSMS z virtuálního počítače spuštěného ve stejné virtuální síti jako privátní koncový bod z SQL do úložiště objektů blob nebo sdílené složky.

    Snímek obrazovky zobrazuje zvýrazněná tlačítka pro výběr možnosti Export Data Tier Application.

  2. K exportu databáze Azure SQL do souboru .bacpac můžete použít průvodce Export datové vrstvy v SQL Server Management Studio. Soubor .bacpac můžete uložit do úložiště objektů blob v Azure nebo ve sdílené složce.

    Snímek obrazovky ukazuje úvodní obrazovku pro export databáze.

  3. Pomocí pravého kliknutí vyberte SQL Database na logickém SQL Serveru v SSMS>, v Úlohy> a zvolte Průvodce exportem aplikace datové vrstvy.

    Snímek obrazovky ukazuje zadané umístění úložiště souborů bacpac na obrazovce Nastavení exportu.

  4. Vyberte Další.

    Snímek obrazovky zobrazuje souhrn zadaných nastavení.

  5. Vyberte umístění pro uložení souboru BACPAC.

    Snímek obrazovky zobrazuje zprávu o dokončení operace a stránku výsledků.

  6. Vyberte Zavřít.

Balíčky DAC jsou umístěny zde: C:\Users\{sample-user-name}\OneDrive - Microsoft\Documents\SQL Server Management Studio\DAC Packages.

Připojení Azure SQL Database z Azure DevOps Serveru 2022

Připojení Azure SQL Database z Azure DevOps Serveru 2022 (místní) zahrnuje konfiguraci přístupu, zajištění připojení a použití příslušných přihlašovacích údajů. Následujícím postupem se připojíte ke službě Azure SQL Database z Azure DevOps Serveru 2022.

Připojení ke službě Azure SQL Database

  1. Získání podrobností o připojení ke službě Azure SQL Database:

    • Název serveru: <your-server-name>.database.windows.net
    • Název databáze: <your-database-name>
    • Metoda ověřování: Ověřování SQL Serveru (uživatelské jméno/heslo) nebo ověřování Microsoft Entra ID.
  2. Připojit pomocí aplikace SQL Server Management Studio (SSMS): a. Otevřete SQL Server Management Studio na počítači, na kterém je nainstalovaný Azure DevOps Server. b) Připojení ke službě Azure SQL Database: c. Spusťte SSMS. d. V okně Připojit k serveru:

    • Zadejte název serveru: <your-server-name>.database.windows.net
    • Zvolte Ověřování: Ověřování SQL Serveru.
    • Zadejte svoje uživatelské jméno a heslo.
    • Vyberte Připojit. Po připojení je azure SQL Database uvedená v Průzkumníku objektů v nástroji SSMS.
  3. Test připojení: Spusťte dotaz nebo příkaz v SSMS:

     SELECT @@VERSION;
    

    Tento dotaz vrátí verzi SQL Serveru vaší služby Azure SQL Database a potvrdí, že připojení proběhlo úspěšně.

  4. Použít připojení na Azure DevOps Serveru: Jakmile ověříte připojení ze služby SSMS, můžete toto připojení použít v rámci Azure DevOps Serveru pro různé úlohy, jako jsou:

    • Automatizovaná nasazení: Nastavte kanály vydání na serveru Azure DevOps pro nasazení změn databáze.
    • Migrace dat: Použití skriptů SQL nebo datových nástrojů integrovaných s Azure DevOps Serverem
    • Kontinuální integrace: Integrace změn databáze do procesů CI/CD.

Rada

  • Zabezpečení: Zvažte použití ID Microsoft Entra pro bezpečnější přístup.
  • Spravovat přihlašovací údaje: bezpečně ukládat přihlašovací údaje a vyhnout se jejich pevně zakódování ve skriptech nebo konfiguracích.
  • Monitor: Monitorování připojení a využití databáze k zajištění zabezpečení a výkonu.

Připojte Azure SQL Database z Azure DevOps Serveru 2022 spuštěného místně, což umožňuje zjednodušenou správu databází a integraci s vašimi procesy vývoje a nasazení. Upravte konfigurace a bezpečnostní opatření na základě zásad a požadavků vaší organizace.

Použijte připojení ke službě Azure SQL Database v Azure DevOps Server 2022

  1. Příprava Azure DevOps Serveru:
    a. Ujistěte se, že máte nainstalovaný a nakonfigurovaný Azure DevOps Server 2022 v místním prostředí.</
    b. Přístup k Azure DevOps Serveru s příslušnými oprávněními k vytváření a správě kanálů

  2. Nastavení projektu a úložiště Azure DevOps (pokud ještě není hotové):
    a. Vytvořte nový nebo použijte existující projekt Azure DevOps.
    b. Nastavte úložiště Git nebo TFVC pro ukládání definic kanálu a skriptů.

  3. Vytvoření kanálu:
    a. Přejděte do projektu Azure DevOps.
    b. Vyberte Potrubí>Potrubí>Nové potrubí.
    c. Na základě vašich požadavků vyberte příslušnou šablonu kanálu. Pro Azure SQL Database můžete začít s prázdnou úlohou nebo zvolit šablonu, která vyhovuje vašim potřebám nasazení (například Azure Pipeline).
    d. Upravte soubor YAML kanálu nebo pomocí klasického editoru definujte fáze a úlohy kanálu.

  4. Přidání úloh pro nasazení do služby Azure SQL Database:

    • úloha : Nasazení databáze SQL Serveru: Pomocí úlohy SqlAzureDacpacDeployment nasaďte změny do služby Azure SQL Database. Příklad fragmentu kódu YAML:

      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)'
      

      Nahraďte <your-server-name>, <your-database-name>, $(sqlUsername)a $(sqlPassword) příslušnými hodnotami nebo proměnnými.

    • úloha : Dotaz Azure SQL: Pomocí úlohy AzureSqlQuery spusťte dotazy SQL na službu Azure SQL Database. Příklad fragmentu kódu YAML:

      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. bezpečně spravovat přihlašovací údaje: použití proměnných Azure DevOps nebo integrace služby Azure Key Vault ke správě citlivých informací, jako jsou přihlašovací údaje SQL Serveru (sqlUsername a sqlPassword).

  6. Spuštění a provedení datového procesu:

    • Uložte a potvrďte změny pipeline.
    • Aktivujte pipeline ručně nebo nastavte triggery (například při odeslání kódu nebo plánovači) podle vaší strategie nasazení.
  7. Monitorování provádění pipelines:

    • Sledujte běhy kanálů v Azure DevOps pro zajištění úspěšného nasazení do služby Azure SQL Database.
    • Projděte si protokoly a výstupy a vyřešte případné problémy během nasazování.

Rada

  • Integrace s kanály verzí: Integrujte svůj kanál buildu s kanály verzí pro složitější scénáře nasazení a schválení.
  • Provádění přírůstkových změn databáze: Ke správě přírůstkových změn schématu databáze použijte nástroje, jako jsou SQL Server Data Tools (SSDT) nebo migrace.
  • Používat správu verzí: Udržujte skripty SQL a změny databáze pod správou verzí, abyste mohli sledovat změny a zajistit reprodukovatelnost.

Upravte konfigurace a úlohy na základě konkrétních potřeb nasazení a požadavků organizace.

Vytvoření zálohy SQL Serveru

Vytvoření zálohy SQL Serveru pro Azure DevOps Server 2022 pomocí konzoly pro správu Serveru Azure DevOps zahrnuje konfiguraci nastavení zálohování a plánování pravidelných záloh. Následujícím postupem vytvořte zálohu SQL Serveru.

Požadavky na zálohování

Kategorie Požadavky
Přístup správce přístup k serveru, na kterém je nainstalovaný Azure DevOps Server.
Oprávnění Oprávnění ke konfiguraci záloh a přístupu k sadě SQL Server Management Studio

Vytvoření zálohy

  1. Na serveru, na kterém je nainstalovaný Azure DevOps Server, spusťte konzolu pro správu Serveru Azure DevOps a vyberte aplikační vrstvu>naplánované zálohování>vytvoření naplánovaných záloh.

    Snímek obrazovky zobrazuje tlačítka pro výběr v konzole pro správu pro vytvoření naplánovaného zálohování.

  2. Zadejte cestu zálohování sítě a pak vyberte Další.

    Snímek obrazovky ukazuje zadanou cestu zálohování sítě.

  3. Vyberte požadovaná e-mailová upozornění a pak vyberte Další.

    Snímek obrazovky se zvýrazněným tlačítkem Další pro vytvoření procesu cesty zálohování sítě

  4. Zvolte plán zálohování podle vašich požadavků a pak vyberte Další.

    Snímek obrazovky ukazuje vybraný plán zálohování a zvýrazněné tlačítko Další.

  5. Potvrďte nastavení konfigurace a vyberte Ověřit.

    Snímek obrazovky se zvýrazněným tlačítkem Ověřit na obrazovce nastavení konfigurace

    Průvodce zálohováním ověří, že cesta zálohování existuje a je to síťová cesta.

    Snímek obrazovky ukazuje probíhající kontrolu připravenosti.

Řešení chyb

Pokud dojde k selhání kontroly připravenosti, projděte si následující informace, které vám pomůžou s řešením potíží.

Chyba: Přístup k účtu služby

Screenshot ukazuje chybu prostředí během kontroly připravenosti.

Chybová zpráva:TF401009: The Azure DevOps service account NT AUTHORITY\LOCAL SERVICE cannot access network shares. Change to an account that can access the backup path. K této chybě dochází, pokud je účet služby NT AUTHORITY\LOCAL SERVICE.

Snímek obrazovky se souhrnem aplikační vrstvy pro místní službu NT Authority

Řešení :

  1. Vytvořte místního uživatele s potřebnými přístupovými oprávněními. Snímek obrazovky zobrazuje nově vytvořeného místního uživatele a přístup.

  2. V konzole pro správu Serveru Azure DevOps přejděte na obrazovku aplikační vrstvy a vyberte Změnit účet.

  3. Změňte účet služby na nově vytvořený místní uživatelský účet. Snímek obrazovky zobrazuje nová členství ve skupinách uživatelů.

  4. Znovu proveďte proces zálohování, aby se úspěšně vytvořilo zálohování, a znovu spusťte kontroly připravenosti. Snímek obrazovky ukazuje, že všechny kontroly byly úspěšné.

    Úspěšná konfigurace zálohování:

    Snímek obrazovky ukazuje úspěšnou konfiguraci zálohování.

    Protokoly naplánovaného zálohování:

    Snímek obrazovky zobrazuje plánované zálohování souborů protokolů.

    Naplánované zálohování konzoly pro správu:

    Snímek obrazovky znázorňující konzolu pro správu zobrazující obrazovku naplánovaných záloh

Chyba: Soubor protokolu

Snímek obrazovky se zvýrazněným odkazem pro úplné zálohování

Příklad umístění souboru protokolu:

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

Příklad chybové zprávy souboru protokolu:

[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)

Řešení :

  • Před provedením zálohování se ujistěte, že jsou všechny skupiny souborů online.

    Příklad LeadingKeyOffline:Snímek obrazovky ukazuje vlastnosti databáze a příklad souboru databáze LeadingKey.

  • Otestujte proces zálohování pomocí dotazů SQL a identifikujte a vyřešte případné problémy s konkrétními skupinami souborů.