Använda Azure SQL Database med Azure DevOps Server
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Använd stegen i den här artikeln för att konfigurera Azure DevOps Server med Azure SQL Database. Den här topologin innehåller några ytterligare steg jämfört med att använda en lokal SQL-server.
Krav
- Azure SQL Database kan endast användas med Azure DevOps Server 2019 och senare versioner.
- Du måste installera Azure DevOps Server på en virtuell Azure-dator.
- Den virtuella datorn måste ha systemhanterad identitet aktiverad, vilket används för att autentisera till Azure SQL-databasen.
- Den virtuella datorn måste vara ansluten till en domän men inte till en arbetsgrupp.
- Azure SQL-databaser måste vara enkla databaser. Hanterade instanser och elastiska pooler stöds i Azure DevOps Server 2022 och senare.
Alla SKU:er för generell användning och Premium stöds. Standard-SKU:er S3 och högre stöds också. Grundläggande SKU:er och standard-SKU:er S2 och nedan stöds inte. Azure DevOps Server-konfigurationer som använder Azure SQL Database stöder inte äldre SQL Server Reporting Services med SQL Server Analysis Services-rapporteringsfunktioner. I stället kan du använda Azure DevOps Analytics-.
Uppgradering till Azure DevOps Server stöds endast från Team Foundation Server 2015 och senare när du använder Azure SQL Database. Azure SQL Database stöder inte krypterade lagrade procedurer.
Konfigurera Azure SQL Database
Konfigurera en hanterad identitet på dina virtuella datorer. Vi stöder endast systemhanterade identiteter just nu.
Du kan köra konfigurationen med hjälp av alla standardmekanismer, inklusive:
Om du vill konfigurera en ny Azure DevOps Server-instans skapar du två Azure SQL-databaser:
AzureDevOps_Konfiguration
AzureDevOps_DefaultCollection
Notera (or Anteckning, based on context)
Du kan hoppa över det här steget om du använder befintliga databaser för att antingen:
- Uppgradera en ny version av Azure DevOps Server.
- Migrera en up-to-date-instans av Azure DevOps Server till Azure SQL Database.
Konfigurera Azure Active Directory-autentisering för din Azure SQL Database-server. Gör dig själv till Active Directory-administratör på servern. Du behöver administratörsbehörighet för databasen för att slutföra de återstående konfigurationsstegen. Du kan ändra den här behörigheten senare.
Aktivera din hanterade identitet, eller identiteter om du använder flera servrar, för att logga in på din Azure SQL-databas och ge den lämpliga behörigheter. Anslut till databasservern med hjälp av SQL Server Management Studio. Anslut med hjälp av en Azure Active Directory-användare med Active Directory- autentisering. Du kan inte ändra Azure Active Directory-användare om du loggar in på Azure SQL Database under SQL-autentisering.
a. Kör följande T-SQL-kommando på
main
-databasen:CREATE USER [VMName] FROM EXTERNAL PROVIDER ALTER ROLE [dbmanager] ADD MEMBER [VMName]
Ersätt VMName- med namnet på den virtuella dator vars hanterade identitet du lägger till i databasen.
b. Kör följande T-SQL-kommando i konfigurationen och alla samlingsdatabaser:
CREATE USER [VMName] FROM EXTERNAL PROVIDER ALTER ROLE [db_owner] ADD MEMBER [VMName] ALTER USER [VMName] WITH DEFAULT_SCHEMA=dbo
Konfigurera Azure DevOps Server
Gå tillbaka till konfigurationsguiden för Azure DevOps Server. Om du konfigurerar en ny instans väljer du Det här är en ny Azure DevOps Server-distribution. Om du uppgraderar eller migrerar och har befintliga data i dina databaser väljer du jag har befintliga databaser att använda för den här Azure DevOps Server-distributionen.
När du kommer till sidan Database i konfigurationsguiden anger du Azure SQL Database-serverinstansen. Vanligtvis är serverinstansen i form av SQLInstanceName.database.windows.net.
Nu har du en Azure DevOps Server-instans som körs på Azure SQL Database.
Ansluta till en Azure SQL-databas från lokal SSMS
Gör följande för att ansluta till en Azure SQL-databas från din lokala SSMS:
Exportera via SQL Server Management Studio (SSMS) från VM som körs i samma VNET som en privat slutpunkt från SQL till bloblagring eller filresurs.
Du kan använda guiden Exportera datanivåprogram i SQL Server Management Studio för att exportera Azure SQL-databasen till en .bacpac-fil. Du kan lagra .bacpac-filen i Azure Blob Storage eller fildelning.
Högerklicka på SQL Database på logiska SQL Server från guiden SSMS>Tasks>Exportera program på datanivå.
Välj Nästa.
Välj den plats där BACPAC-filen ska lagras.
Välj Stäng.
DAC-paketen finns här: C:\Users\{sample-user-name}\OneDrive - Microsoft\Documents\SQL Server Management Studio\DAC Packages
.
Ansluta Azure SQL Database från Azure DevOps Server 2022
Att ansluta Azure SQL Database från Azure DevOps Server 2022 (lokalt) innebär att konfigurera åtkomst, säkerställa anslutningen och använda lämpliga autentiseringsuppgifter. Utför följande steg för att ansluta Azure SQL Database från Azure DevOps Server 2022.
Förutsättningar
Kategori | Krav |
---|---|
brandväggsregler | Azure SQL Database-brandväggsregler tillåter inkommande anslutningar från IP-adressen eller undernätet där Azure DevOps Server finns. Det gör du genom att gå till: Azure-portalen>Azure SQL Database>Inställningar>brandväggar och virtuella nätverk> lägga till en ny regel för att tillåta åtkomst från din Azure DevOps Server offentliga IP-adress eller undernät. |
Verktyg | – Azure SQL Database är etablerad och tillgänglig från Azure. Registrering av servernamn, databasnamn och autentiseringsmetod. – Azure DevOps Server 2022 som körs i din lokala miljö. – SSMS installerat på samma dator där Azure DevOps Server är installerat. |
Ansluta till Azure SQL Database
Hämta anslutningsinformation för Azure SQL Database:
- Servernamn:
<your-server-name>.database.windows.net
- Databasnamn:
<your-database-name>
- Autentiseringsmetod: SQL Server-autentisering (användarnamn/lösenord) eller Microsoft Entra-ID-autentisering.
- Servernamn:
Anslut med SQL Server Management Studio (SSMS): a. Öppna SQL Server Management Studio på den dator där Azure DevOps Server är installerat. b. Anslut till Azure SQL Database: c. Starta SSMS. d. I fönstret Anslut till server:
- Ange servernamnet:
<your-server-name>.database.windows.net
- Välj Autentisering: SQL Server-autentisering.
- Ange användarnamn och lösenord.
- Välj Anslut. När den är ansluten visas Azure SQL Database under Object Explorer i SSMS.
- Ange servernamnet:
Testa anslutningen: Köra en fråga eller ett kommando i SSMS för att verifiera anslutningen:
SELECT @@VERSION;
Den här frågan returnerar SQL Server-versionen av din Azure SQL Database, vilket bekräftar att anslutningen lyckas.
Använd anslutning i Azure DevOps Server: När du har verifierat anslutningen från SSMS kan du använda den här anslutningen i Azure DevOps Server för olika uppgifter som:
- Automatiserade distributioner: Konfigurera versionspipelines i Azure DevOps Server för att distribuera databasändringar.
- Datamigrering: Använd SQL-skript eller dataverktyg som är integrerade med Azure DevOps Server.
- Kontinuerlig integrering: Integrera databasändringar i dina CI/CD-pipelines.
Tips
- Var säker: Överväg att använda Microsoft Entra-ID för säkrare åtkomst.
- Hantera autentiseringsuppgifter: Lagra autentiseringsuppgifter på ett säkert sätt och undvik att hårdkoda dem i skript eller konfigurationer.
- Monitor: Övervaka databasanslutningar och användning för att säkerställa säkerhet och prestanda.
Anslut Azure SQL Database från Azure DevOps Server 2022 som körs lokalt, vilket möjliggör effektiv databashantering och integrering med dina utvecklings- och distributionsprocesser. Justera konfigurationer och säkerhetsåtgärder baserat på organisationens principer och krav.
Använda din Azure SQL Database-anslutning i Azure DevOps Server 2022
Förbered Azure DevOps Server:
a. Se till att Azure DevOps Server 2022 är installerat och konfigurerat i din lokala miljö.</
b. Åtkomst till Azure DevOps Server med rätt behörighet att skapa och hantera pipelines.Konfigurera Azure DevOps-projekt och lagringsplats (om inte redan gjort):
a. Skapa en ny eller använd ett befintligt Azure DevOps-projekt.
b. Konfigurera en Git- eller TFVC-lagringsplats för att lagra dina pipelinedefinitioner och skript.Skapa en pipeline:
a. Gå till ditt Azure DevOps-projekt.
b. Välj Rörledningar>Rörledningar>Ny rörledning.
c. Välj lämplig pipelinemall baserat på dina krav. För Azure SQL Database kan du börja med ett tomt jobb eller välja en mall som passar dina distributionsbehov (till exempel Azure Pipeline).
d. Redigera YAML-pipelinefilen eller använd den klassiska redigeraren för att definiera dina pipelinesteg och aktiviteter.Lägg till uppgifter som ska distribueras till Azure SQL Database:
uppgift: SQL Server Database-distribution: Använd
SqlAzureDacpacDeployment
-uppgiften för att distribuera ändringar till din Azure SQL Database. Exempel på YAML-kodfragment: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)'
Ersätt
<your-server-name>
,<your-database-name>
,$(sqlUsername)
och$(sqlPassword)
med lämpliga värden eller variabler.uppgift: Azure SQL Query: Använd
AzureSqlQuery
-uppgiften för att köra SQL-frågor mot din Azure SQL Database. Exempel på YAML-kodfragment: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'
Hantera autentiseringsuppgifter på ett säkert sätt: Använda Azure DevOps-variabler eller Azure Key Vault-integrering för att hantera känslig information som SQL Server-autentiseringsuppgifter (
sqlUsername
ochsqlPassword
).Aktivera och kör pipeline:
- Spara och kommitta dina pipelineändringar.
- Utlös pipelinen manuellt eller konfigurera utlösare (till exempel vid ändring i kod, schemaläggning) enligt implementeringsstrategin.
Övervakning av pipelinekörning:
- Övervaka pipelinekörningar i Azure DevOps för att säkerställa att distributionerna till Azure SQL Database lyckas.
- Granska loggar och utdata för att felsöka eventuella problem under distributionen.
Tips
- Integrera med utgivningspipelines: Integrera din byggpipeline med utgivningspipelines för mer komplexa distributionsscenarier och godkännanden.
- Gör inkrementella databasändringar: Använda verktyg som SQL Server Data Tools (SSDT) eller migreringar för att hantera inkrementella ändringar i databasschemat.
- Använd versionskontroll: Behåll dina SQL-skript och databasändringar under versionskontrollen för att spåra ändringar och säkerställa reproducerbarhet.
Justera konfigurationer och uppgifter baserat på dina specifika distributionsbehov och organisationens krav.
Skapa en SQL Server-säkerhetskopiering
Att skapa en SQL Server-säkerhetskopiering för Azure DevOps Server 2022 med hjälp av Administrationskonsolen för Azure DevOps Server innebär att konfigurera inställningar för säkerhetskopiering och schemalägga regelbundna säkerhetskopieringar. Utför följande steg för att skapa en SQL Server-säkerhetskopia.
Krav för säkerhetskopiering
Kategori | Krav |
---|---|
Access | Administratör åtkomst till servern där Azure DevOps Server är installerat. |
Behörigheter | Behörighet att konfigurera säkerhetskopior och få åtkomst till SQL Server Management Studio. |
Skapa säkerhetskopia
Starta Administrationskonsolen för Azure DevOps Server på servern där Azure DevOps Server är installerat och välj programnivå>schemalagda säkerhetskopieringar>Skapa schemalagda säkerhetskopieringar.
Ange sökvägen för nätverkssäkerhetskopiering och välj sedan Nästa.
Välj önskade e-postaviseringar och välj sedan Nästa.
Välj ett schema för säkerhetskopiering baserat på dina krav och välj sedan Nästa.
Bekräfta konfigurationsinställningarna och välj Verifiera.
Säkerhetskopieringsguiden verifierar att säkerhetskopieringssökvägen finns och är en nätverkssökväg.
Felsökningsproblem
Om en beredskapskontroll misslyckas kan du läsa följande information om hjälp med felsökning.
Fel: Åtkomst till tjänstkonto
Felmeddelande:TF401009: The Azure DevOps service account NT AUTHORITY\LOCAL SERVICE cannot access network shares. Change to an account that can access the backup path.
Det här felet uppstår när tjänstkontot är NT AUTHORITY\LOCAL SERVICE.
Lösning:
- Skapa en lokal användare med nödvändiga åtkomstbehörigheter.
- I Administrationskonsolen för Azure DevOps Server går du till skärmen programnivå och väljer Ändra konto.
- Ändra tjänstkontot till det nyligen skapade lokala användarkontot.
- Gör om säkerhetskopieringsprocessen igen för att skapa säkerhetskopian och köra beredskapskontrollerna igen.
Lyckad säkerhetskopieringskonfiguration:
Schemalagda säkerhetskopieringsloggar:
Schemalagda säkerhetskopieringar för administrationskonsolen:
Fel: loggfil
Exempel på loggfilsplats:C:\ProgramData\Microsoft\Azure DevOps\Server Configuration\Logs\TFS_Scheduled Backups_0627_192409.log
Felmeddelande om exempelloggfil:[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)
Lösning:
Kontrollera att alla filgrupper är online innan du utför säkerhetskopieringen.
LeadingKeyOffline-exempel:
Testa säkerhetskopieringsprocessen med HJÄLP av SQL-frågor för att identifiera och lösa eventuella problem med specifika filgrupper.