Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Server | Azure DevOps Server |Azure DevOps Server 2022 | Azure DevOps Server 2020
Wykonaj kroki opisane w tym artykule, aby skonfigurować program Azure DevOps Server z usługą Azure SQL Database. Ta topologia ma jeszcze kilka kroków w porównaniu z użyciem lokalnego serwera SQL.
Warunki wstępne
| Kategoria | Wymagania |
|---|---|
| Wersja usługi Azure DevOps Server | Usługi Azure SQL Database można używać tylko z usługą Azure DevOps Server 2019 i nowszymi wersjami. |
| Środowisko instalacji | Usługa Azure DevOps Server zainstalowana na maszynie wirtualnej platformy Azure. |
| Uwierzytelnianie | Maszyna wirtualna ma włączoną tożsamość zarządzaną przez system, która służy do uwierzytelniania w bazie danych Azure SQL Database. |
| Członkostwo w domenie | Maszyna wirtualna jest przyłączona do domeny, ale nie do grupy roboczej. |
| Typ bazy danych | Bazy danych Azure SQL Database to pojedyncze bazy danych. Wystąpienia zarządzane i pule elastyczne są obsługiwane w usłudze Azure DevOps Server 2022 i nowszych wersjach. |
| reguły firewall | Reguły zapory usługi Azure SQL Database zezwalają na połączenia przychodzące z adresu IP lub podsieci, w której jest hostowany serwer Usługi Azure DevOps. W tym celu przejdź do: portalu Azure>Azure SQL Database>Ustawienia>Zapory i sieci wirtualne> i dodaj nową regułę umożliwiającą dostęp z publicznego adresu IP lub podsieci serwera Azure DevOps Server. |
| Narzędzia | — Usługa Azure SQL Database aprowizowana i dostępna z platformy Azure. Rekord nazwy serwera, nazwy bazy danych i metody uwierzytelniania. — usługa Azure DevOps Server 2022 uruchomiona w środowisku lokalnym. — program SSMS zainstalowany na tej samej maszynie, na której zainstalowano usługę Azure DevOps Server. |
Obsługiwane są wszystkie jednostki SKU ogólnego przeznaczenia i Premium, a także jednostki SKU w warstwie Standard S3 i wyższe. Jednak podstawowe SKU i standardowe SKU S2 nie są obsługiwane.
Konfiguracje usługi Azure DevOps Server korzystające z usługi Azure SQL Database nie obsługują starszych usług SQL Server Reporting Services z funkcjami raportowania usług SQL Server Analysis Services. Zamiast tego możesz użyć usługi Azure DevOps Analytics do raportowania i analizy.
Usługa Azure SQL Database nie obsługuje zaszyfrowanych procedur składowanych.
Konfigurowanie usługi Azure SQL Database
Skonfiguruj tożsamość zarządzaną na maszynach wirtualnych. Obecnie obsługujemy tylko tożsamości zarządzane przez system.
Konfigurację można uruchomić przy użyciu wszystkich standardowych mechanizmów, w tym:
Aby skonfigurować nowe wystąpienie usługi Azure DevOps Server, utwórz dwie bazy danych Azure SQL Database:
- AzureDevOps_Konfiguracja
- AzureDevOps_DefaultCollection
Skonfiguruj uwierzytelnianie Microsoft Entra ID dla serwera Azure SQL Database. Zrób sobie administratora Microsoft Entra na serwerze. Aby wykonać pozostałe kroki konfiguracji, musisz mieć uprawnienia administratora bazy danych. To uprawnienie można zmienić później.
a. Uruchom następujące polecenie języka T-SQL w głównej bazie danych. Zastąp ciąg VMName nazwą maszyny wirtualnej, której tożsamość zarządzana jest dodawana do bazy danych:
CREATE USER [VMName] FROM EXTERNAL PROVIDER ALTER ROLE [dbmanager] ADD MEMBER [VMName]b. Uruchom następujące polecenie języka T-SQL w konfiguracji i wszystkich bazach danych kolekcji:
CREATE USER [VMName] FROM EXTERNAL PROVIDER ALTER ROLE [db_owner] ADD MEMBER [VMName] ALTER USER [VMName] WITH DEFAULT_SCHEMA=dboBaza danych umożliwia teraz maszynie wirtualnej komunikację za pośrednictwem tożsamości zarządzanej.
Uwaga
Jeśli wprowadzisz modyfikacje w maszynie wirtualnej Azure, takie jak przywrócenie migawki lub zmiana nazwy maszyny wirtualnej, aby przywrócić łączność, wykonaj następujące kroki:
- Usuń użytkownika [VMName] z głównej bazy danych i wszystkich baz danych usługi Azure DevOps. Jeśli [VMName] jest właścicielem obiektów bazy danych, możesz potrzebować zmienić ich właściciela na innego użytkownika, na przykład DBO, a następnie z powrotem po wykonaniu następnego kroku.
- Uruchom wcześniej określone zapytania SQL ponownie z aktualną nazwą maszyny wirtualnej [VMName], nawet jeśli się nie zmieniła.
- Uruchom ponownie usługi usługi Azure DevOps Server.
Konfigurowanie usługi Azure DevOps Server
Wróć do kreatora konfiguracji Azure DevOps Server. Jeśli skonfigurujesz nowe wystąpienie, wybierz opcję To jest nowe wdrożenie usługi Azure DevOps Server. Jeśli uaktualnisz lub zmigrujesz istniejące dane w bazach danych, wybierz pozycję Mam istniejące bazy danych do użycia na potrzeby tego wdrożenia usługi Azure DevOps Server.
Po przejściu do strony Baza danych w kreatorze konfiguracji określ wystąpienie serwera usługi Azure SQL Database. Zazwyczaj wystąpienie serwera ma postać SQLInstanceName.database.windows.net.
Masz teraz wystąpienie usługi Azure DevOps Server uruchomione w oparciu o bazę danych Azure SQL Database.
Nawiązywanie połączenia z bazą danych Azure SQL Database z lokalnego programu SSMS
Wykonaj następujące kroki, aby nawiązać połączenie z bazą danych Azure SQL Database z lokalnego programu SSMS:
Eksportowanie za pośrednictwem programu SQL Server Management Studio przy użyciu programu SSMS z maszyny wirtualnej działającej w tej samej sieci wirtualnej co prywatny punkt końcowy z programu SQL do magazynu obiektów blob/udziału plików.
Aby wyeksportować bazę danych Azure SQL do pliku .bacpac, możesz użyć Kreatora eksportu aplikacji warstwy danych w SQL Server Management Studio. Plik bacpac można przechowywać w usłudze Azure Blob Storage lub udziale plików.
Wybierz prawym przyciskiem myszy bazę danych SQL na logicznym serwerze SQL z SSMS>Zadania>Eksport aplikacji warstwy danych kreatora.
Wybierz pozycję Dalej.
Wybierz lokalizację do przechowywania pliku BACPAC.
Wybierz Zamknij.
Pakiety DAC znajdują się tutaj: C:\Users\{sample-user-name}\OneDrive - Microsoft\Documents\SQL Server Management Studio\DAC Packages.
Łączenie usługi Azure SQL Database z usługi Azure DevOps Server 2022
Łączenie usługi Azure SQL Database z usługi Azure DevOps Server 2022 (lokalnie) obejmuje konfigurowanie dostępu, zapewnianie łączności i używanie odpowiednich poświadczeń. Wykonaj następujące kroki, aby połączyć usługę Azure SQL Database z serwera Azure DevOps Server 2022.
Nawiązywanie połączenia z usługą Azure SQL Database
Uzyskaj szczegóły połączenia usługi Azure SQL Database:
- Nazwa serwera:
<your-server-name>.database.windows.net - Nazwa bazy danych:
<your-database-name> - Metoda uwierzytelniania: Uwierzytelnianie programu SQL Server (nazwa użytkownika/hasło) lub uwierzytelnianie identyfikatora Entra firmy Microsoft.
- Nazwa serwera:
Connect za pomocą programu SQL Server Management Studio (SSMS): a. Otwórz program SQL Server Management Studio na maszynie, na której jest zainstalowany program Azure DevOps Server. b. Nawiązywanie połączenia z usługą Azure SQL Database: c. Uruchom program SSMS. d. W oknie Łączenie z serwerem:
- Wprowadź nazwę serwera:
<your-server-name>.database.windows.net - Wybierz pozycję Uwierzytelnianie: Uwierzytelnianie programu SQL Server.
- Wprowadź nazwę użytkownika i hasło.
- Wybierz pozycję Połącz. Po nawiązaniu połączenia usługa Azure SQL Database jest wyświetlana w Eksploratorze obiektów w programie SSMS.
- Wprowadź nazwę serwera:
Testowanie łączności: Wykonaj zapytanie lub polecenie w programie SSMS:
SELECT @@VERSION;To zapytanie zwraca wersję programu SQL Server usługi Azure SQL Database, potwierdzając, że połączenie zakończyło się pomyślnie.
Użyj połączenia w usłudze Azure DevOps Server: Po zweryfikowaniu łączności z programu SSMS możesz użyć tego połączenia w usłudze Azure DevOps Server w celu wykonywania różnych zadań, takich jak:
- Automatyczne wdrożenia: Konfigurowanie potoków wydania w usłudze Azure DevOps Server w celu wdrożenia zmian bazy danych.
- Migracja danych: użyj skryptów SQL lub narzędzi do obsługi danych zintegrowanych z usługą Azure DevOps Server.
- Ciągła integracja: włączanie zmian w bazach danych do potoków CI/CD.
Napiwek
- Być bezpiecznym: rozważ użycie identyfikatora Entra firmy Microsoft w celu uzyskania bezpieczniejszego dostępu.
- Zarządzaj poświadczeniami: Bezpieczne przechowywanie poświadczeń i unikanie trwałego kodowania ich w skryptach lub konfiguracjach.
- Monitor: Monitorowanie połączeń i użycia bazy danych w celu zapewnienia bezpieczeństwa i wydajności.
Połącz usługę Azure SQL Database z usługi Azure DevOps Server 2022 uruchomioną lokalnie, umożliwiając usprawnione zarządzanie bazami danych i integrację z procesami programowania i wdrażania. Dostosuj konfiguracje i środki zabezpieczeń na podstawie zasad i wymagań organizacji.
Użyj połączenia usługi Azure SQL Database w Azure DevOps Server 2022
Przygotowanie Azure DevOps Server:
a. Upewnij się, że masz zainstalowany i skonfigurowany program Azure DevOps Server 2022 w środowisku lokalnym.</
b. Dostęp do serwera Usługi Azure DevOps z odpowiednimi uprawnieniami do tworzenia potoków i zarządzania nimi.Skonfiguruj projekt i repozytorium usługi Azure DevOps (jeśli jeszcze nie zostało to zrobione):
. Utwórz nowy lub użyj istniejącego projektu usługi Azure DevOps.
b. Skonfiguruj repozytorium Git lub TFVC w celu przechowywania definicji potoku i skryptów.Utwórz potok:
a. Przejdź do projektu usługi Azure DevOps.
b. Wybierz Rurociągi>Rurociągi>Nowy rurociąg.
c. Wybierz odpowiedni szablon przepływu pracy na podstawie swoich wymagań. W przypadku usługi Azure SQL Database możesz zacząć od pustego zadania lub wybrać szablon odpowiadający potrzebom wdrożenia (na przykład Azure Pipeline).
d. Edytuj plik YAML dla potoku lub użyj edytora klasycznego, aby zdefiniować etapy i zadania w potoku.Dodawanie zadań do wdrożenia w usłudze Azure SQL Database:
Zadanie: Wdrażanie bazy danych programu SQL Server: Użyj zadania
SqlAzureDacpacDeployment, aby wdrożyć zmiany w usłudze Azure SQL Database. Przykładowy fragment kodu 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)'Zastąp
<your-server-name>,<your-database-name>,$(sqlUsername)i$(sqlPassword)odpowiednimi wartościami lub zmiennymi.Zadanie: Zapytanie Usługi Azure SQL: Użyj zadania
AzureSqlQuerydo uruchamiania zapytań SQL względem usługi Azure SQL Database. Przykładowy fragment kodu 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'
Bezpieczne zarządzanie poświadczeniami: użyj zmiennych usługi Azure DevOps lub integracji usługi Azure Key Vault, aby zarządzać poufnymi informacjami, takimi jak poświadczenia programu SQL Server (
sqlUsernameisqlPassword).Wyzwalacz i potok uruchamiania:
- Zapisz i zatwierdź zmiany w procesie.
- Wyzwól potok ręcznie lub skonfiguruj wyzwalacze (na przykład podczas zatwierdzenia kodu lub zgodnie z harmonogramem) zgodnie z Twoją strategią wdrażania.
Monitorowanie wykonywania pipeline'u:
- Monitorowanie przebiegów potoków w usłudze Azure DevOps w celu zapewnienia pomyślnego wdrożenia w usłudze Azure SQL Database.
- Przejrzyj dzienniki i dane wyjściowe, aby rozwiązać problemy podczas wdrażania.
Napiwek
- Integracja z potokami wydania: Zintegruj swój potok kompilacji z potokami wydania, aby uzyskać bardziej złożone stany wdrożenia i zatwierdzenia.
- Wprowadź zmiany przyrostowej bazy danych: Użyj narzędzi, takich jak SQL Server Data Tools (SSDT) lub migracji, aby zarządzać przyrostowymi zmianami schematu bazy danych.
- Użyj kontroli wersji: Zachowaj zmiany skryptów SQL i bazy danych w ramach kontroli wersji, aby śledzić zmiany i zapewnić powtarzalność.
Dostosuj konfiguracje i zadania na podstawie konkretnych potrzeb związanych z wdrożeniem i wymagań organizacyjnych.
Tworzenie kopii zapasowej programu SQL Server
Tworzenie kopii zapasowej programu SQL Server dla usługi Azure DevOps Server 2022 przy użyciu konsoli administracyjnej usługi Azure DevOps Server obejmuje konfigurowanie ustawień kopii zapasowych i planowanie regularnych kopii zapasowych. Wykonaj następujące kroki, aby utworzyć kopię zapasową programu SQL Server.
Wymagania wstępne dotyczące kopii zapasowej
| Kategoria | Wymagania |
|---|---|
| Dostęp | administrator dostęp do serwera, na którym jest zainstalowany serwer Usługi Azure DevOps. |
| uprawnienia | Uprawnienie do konfigurowania kopii zapasowych i uzyskiwania dostępu do programu SQL Server Management Studio. |
Tworzenie kopii zapasowej
Uruchom konsolę administracyjną usługi Azure DevOps Server na serwerze, na którym jest zainstalowany serwer Usługi Azure DevOps, a następnie wybierz warstwę aplikacji>zaplanowane kopie zapasowe>Utwórz zaplanowane kopie zapasowe.
Wprowadź ścieżkę kopii zapasowej sieci, a następnie wybierz pozycję Dalej.
Wybierz preferowane alerty e-mail, a następnie kliknij Dalej.
Wybierz harmonogram tworzenia kopii zapasowych na podstawie wymagań, a następnie wybierz pozycję Dalej.
Potwierdź ustawienia konfiguracji i wybierz Sprawdź.
Kreator kopii zapasowych sprawdza, czy ścieżka do kopii zapasowej istnieje i jest ścieżką sieciową.
Rozwiązywanie błędów
Jeśli wystąpił błąd sprawdzania gotowości, zapoznaj się z poniższymi informacjami, aby uzyskać pomoc dotyczącą rozwiązywania problemów.
Błąd: Dostęp do konta usługi
komunikat o błędzie:TF401009: The Azure DevOps service account NT AUTHORITY\LOCAL SERVICE cannot access network shares. Change to an account that can access the backup path. Ten błąd występuje, gdy konto usługi to NT AUTHORITY\LOCAL SERVICE.
rozwiązanie :
Utwórz użytkownika lokalnego z niezbędnymi uprawnieniami dostępu.
W konsoli administracyjnej usługi Azure DevOps Server przejdź do ekranu warstwy aplikacji i wybierz pozycję Zmień konto.
Zmień konto usługi na nowo utworzone konto użytkownika lokalnego.
Wykonaj ponownie proces tworzenia kopii zapasowej, aby pomyślnie utworzyć kopię zapasową i ponownie uruchomić testy gotowości.
Pomyślna konfiguracja kopii zapasowej:
Zaplanowane logi kopii zapasowej:
Zaplanowane kopie zapasowe konsoli administracyjnej:
Błąd: plik dziennika
Przykładowa lokalizacja pliku dziennika:
C:\ProgramData\Microsoft\Azure DevOps\Server Configuration\Logs\Azure_DevOps_Server_Scheduled Backups_0627_192409.log
Przykładowy komunikat o błędzie pliku dziennika:
[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)
rozwiązanie :
Przed wykonaniem kopii zapasowej upewnij się, że wszystkie grupy plików są w trybie online.
przykład LeadingKeyOffline:
Przetestuj proces tworzenia kopii zapasowej przy użyciu zapytań SQL, aby zidentyfikować i rozwiązać wszelkie problemy z określonymi grupami plików.