Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Gunakan langkah-langkah dalam artikel ini untuk mengonfigurasi Azure DevOps Server dengan Azure SQL Database. Topologi ini memiliki beberapa langkah lagi dibandingkan dengan menggunakan server SQL lokal.
Prasyarat
Kategori | Persyaratan |
---|---|
Versi Azure DevOps Server | Azure SQL Database hanya dapat digunakan dengan Azure DevOps Server 2019 dan versi yang lebih baru. |
Lingkungan penginstalan | Azure DevOps Server diinstal pada Azure VM. |
Autentikasi | Komputer virtual (VM) mengaktifkan identitas yang dikelola sistem, yang digunakan untuk mengautentikasi ke database Azure SQL. |
Keanggotaan domain | VM bergabung ke domain tetapi bukan grup kerja. |
jenis database | Database Azure SQL adalah database tunggal. Instans terkelola dan kumpulan elastis didukung di Azure DevOps Server 2022 dan yang lebih baru. |
aturan Firewall | Aturan firewall Azure SQL Database memungkinkan koneksi masuk dari alamat IP atau subnet tempat Azure DevOps Server dihosting. Untuk melakukannya, buka: portal Microsoft Azure>Pengaturan>Azure SQL Database>Firewall dan jaringan virtual> menambahkan aturan baru untuk mengizinkan akses dari alamat IP publik atau subnet Azure DevOps Server Anda. |
Alat | - Azure SQL Database disediakan dan dapat diakses dari Azure. Catatan nama server, nama database, dan metode autentikasi. - Azure DevOps Server 2022 yang berjalan di lingkungan lokal Anda. - SQL Server Management Studio diinstal pada komputer yang sama tempat Azure DevOps Server diinstal. |
Semua SKU Tujuan Umum dan Premium didukung, serta SKU Standar S3 dan yang lebih tinggi. Namun, SKU Dasar dan SKU Standar S2 tidak didukung.
Konfigurasi Azure DevOps Server yang menggunakan Azure SQL Database tidak mendukung fitur pelaporan SQL Server Reporting Services lama dengan SQL Server Analysis Services. Sebagai gantinya, Anda dapat menggunakan Azure DevOps Analytics untuk pelaporan dan analitik.
Azure SQL Database tidak mendukung prosedur tersimpan terenkripsi.
Menyiapkan Database Azure SQL
Mengonfigurasi identitas terkelola di mesin virtual Anda. Saat ini kami hanya mendukung identitas yang dikelola sistem.
Anda dapat menjalankan konfigurasi dengan menggunakan semua mekanisme standar, termasuk:
Untuk menyiapkan instans Azure DevOps Server baru, buat dua database Azure SQL:
- AzureDevOps_Configuration
- AzureDevOps_DefaultCollection
Konfigurasikan autentikasi ID Microsoft Entra untuk server Azure SQL Database Anda. Jadikan diri Anda administrator Microsoft Entra di server. Anda memerlukan izin administrator pada database untuk menyelesaikan langkah-langkah konfigurasi yang tersisa. Anda dapat mengubah izin ini nanti.
sebuah. Jalankan perintah T-SQL berikut pada database utama Anda. Ganti VMName dengan nama komputer virtual yang identitas terkelolanya Anda tambahkan ke database:
CREATE USER [VMName] FROM EXTERNAL PROVIDER ALTER ROLE [dbmanager] ADD MEMBER [VMName]
b. Jalankan perintah T-SQL berikut pada konfigurasi dan semua database koleksi:
CREATE USER [VMName] FROM EXTERNAL PROVIDER ALTER ROLE [db_owner] ADD MEMBER [VMName] ALTER USER [VMName] WITH DEFAULT_SCHEMA=dbo
Database Anda sekarang memungkinkan VM Anda berkomunikasi melalui identitas terkelola.
Catatan
Jika Anda membuat modifikasi pada Azure VM Anda seperti memulihkan rekam jepret atau mengganti nama VM, untuk memulihkan konektivitas:
- Hapus pengguna [VMName] dari database utama dan semua database Azure DevOps. Jika [VMName] memiliki objek database, Anda mungkin perlu mengubah pemiliknya ke pengguna lain, seperti DBO, lalu kembali setelah langkah berikutnya.
- Jalankan ulang kueri SQL yang dinyatakan sebelumnya dengan [VMName] saat ini, meskipun tidak berubah.
- Mulai ulang layanan Azure DevOps Server.
Konfigurasikan Azure DevOps Server
Silakan kembali ke wizard konfigurasi Azure DevOps Server. Jika Anda menyiapkan instans baru, pilih Penyebaran baru Azure DevOps Server ini. Jika Anda memutakhirkan atau memigrasikan dan memiliki data yang sudah ada di database Anda, pilih Saya memiliki database yang sudah ada untuk penyebaran Azure DevOps Server ini.
Saat Anda masuk ke halaman Database di wizard konfigurasi, tentukan instans server Azure SQL Database. Biasanya, instans server dalam bentuk SQLInstanceName.database.windows.net.
Anda sekarang memiliki instans Azure DevOps Server yang berjalan pada Azure SQL Database.
Menyambungkan ke database Azure SQL dari SSMS lokal
Lakukan langkah-langkah berikut untuk menyambungkan ke database Azure SQL dari SSMS lokal Anda:
Ekspor melalui SQL Server Management Studio (SSMS) menggunakan VM yang berjalan di jaringan virtual yang sama sebagai titik akhir privat, dari SQL ke penyimpanan blob atau berbagi file.
Anda dapat menggunakan wizard Ekspor aplikasi tingkat data di SQL Server Management Studio untuk mengekspor database Azure SQL ke file .bacpac. Anda dapat menyimpan file .bacpac di penyimpanan blob Azure atau berbagi file.
Pilih kanan SQL Database pada SQL Server logis dari SSMS>Tasks>Mengekspor aplikasi tingkat data wizard.
Pilih Berikutnya.
Pilih lokasi untuk menyimpan file BACPAC.
Pilih Tutup.
Paket DAC terletak di sini: C:\Users\{sample-user-name}\OneDrive - Microsoft\Documents\SQL Server Management Studio\DAC Packages
.
Menyambungkan Azure SQL Database dari Azure DevOps Server 2022
Menyambungkan Azure SQL Database dari Azure DevOps Server 2022 (lokal) melibatkan konfigurasi akses, memastikan konektivitas, dan menggunakan kredensial yang sesuai. Lakukan langkah-langkah berikut untuk menyambungkan Azure SQL Database dari Azure DevOps Server 2022.
Menyambungkan ke Azure SQL Database
Dapatkan detail koneksi Azure SQL Database:
- Nama server:
<your-server-name>.database.windows.net
- Nama database:
<your-database-name>
- Metode autentikasi: Autentikasi SQL Server (nama pengguna/kata sandi) atau autentikasi ID Microsoft Entra.
- Nama server:
Menghubungkan dengan SQL Server Management Studio (SSMS): a. Buka SQL Server Management Studio di komputer tempat Azure DevOps Server diinstal. b. Sambungkan ke Azure SQL Database: c. Luncurkan SSMS. d. Di jendela Sambungkan ke Server:
- Masukkan Nama Server:
<your-server-name>.database.windows.net
- Pilih Autentikasi: Autentikasi SQL Server.
- Masukkan Nama Pengguna dan Kata Sandi Anda.
- Pilih Connect. Setelah tersambung, Azure SQL Database tercantum di bawah Object Explorer di SQL Server Management Studio.
- Masukkan Nama Server:
Uji konektivitas: Jalankan kueri atau perintah di SSMS:
SELECT @@VERSION;
Kueri ini mengembalikan versi SQL Server dari Azure SQL Database Anda, mengonfirmasi bahwa koneksi berhasil.
Menggunakan koneksi di Azure DevOps Server: Setelah Memverifikasi konektivitas dari SQL Server Management Studio, Anda dapat menggunakan koneksi ini dalam Azure DevOps Server untuk berbagai tugas seperti:
- Penyebaran otomatis: Siapkan alur rilis di Azure DevOps Server untuk menyebarkan perubahan database.
- Migrasi data: Gunakan skrip SQL atau alat data yang terintegrasi dengan Azure DevOps Server.
- Integrasi berkelanjutan: Integrasikan perubahan database ke dalam alur CI/CD Anda.
Saran
- Aman: Pertimbangkan untuk menggunakan ID Microsoft Entra untuk akses yang lebih aman.
- Mengelola kredensial: Menyimpan kredensial dengan aman dan menghindari hardcoding dalam skrip atau konfigurasi.
- Monitor: Memantau koneksi dan penggunaan database untuk memastikan keamanan dan performa.
Sambungkan Azure SQL Database dari Azure DevOps Server 2022 yang berjalan secara lokal, memungkinkan manajemen dan integrasi database yang disederhanakan dengan proses pengembangan dan penyebaran Anda. Sesuaikan konfigurasi dan langkah-langkah keamanan berdasarkan kebijakan dan persyaratan organisasi Anda.
Menggunakan koneksi Azure SQL Database Anda di Azure DevOps Server 2022
Siapkan Server Azure DevOps:
a. Pastikan Anda menginstal dan mengonfigurasi Azure DevOps Server 2022 di lingkungan lokal Anda.</
b. Akses ke Azure DevOps Server dengan izin yang sesuai untuk membuat dan mengelola alur.Menyiapkan proyek dan repositori Azure DevOps (jika belum selesai):
a. Buat baru atau gunakan proyek Azure DevOps yang sudah ada.
b. Siapkan repositori Git atau TFVC untuk menyimpan definisi dan skrip alur Anda.Membuat alur:
a. Buka proyek Azure DevOps Anda.
b. Pilih Pipeline>Pipeline>Pipeline baru.
c. Pilih templat alur yang sesuai berdasarkan kebutuhan Anda. Untuk Azure SQL Database, Anda mungkin memulai dengan tugas kosong atau memilih templat yang sesuai dengan kebutuhan penerapan Anda (misalnya, Azure Pipeline).
d. Edit file YAML alur atau gunakan editor klasik untuk menentukan tahap dan tugas alur Anda.Menambahkan tugas untuk disebarkan ke Azure SQL Database:
Tugas : Penyebaran Database SQL Server: Gunakan tugas
SqlAzureDacpacDeployment
untuk menyebarkan perubahan ke Azure SQL Database Anda. Contoh cuplikan 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)'
Ganti
<your-server-name>
,<your-database-name>
,$(sqlUsername)
, dan$(sqlPassword)
dengan nilai atau variabel yang sesuai.Tugas : Kueri Azure SQL: Gunakan tugas
AzureSqlQuery
untuk menjalankan kueri SQL terhadap Azure SQL Database Anda. Contoh cuplikan 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'
Mengelola kredensial dengan aman: Menggunakan variabel Azure DevOps atau integrasi Azure Key Vault untuk mengelola informasi sensitif seperti kredensial SQL Server (
sqlUsername
dansqlPassword
).Memulai dan menjalankan pipeline:
- Simpan dan terapkan perubahan alur Anda.
- Jalankan pipeline secara manual atau siapkan pemicu (misalnya, saat kode dikomit, jadwal) menurut strategi penyebaran Anda.
Monitor eksekusi alur:
- Pantau eksekusi alur di Azure DevOps untuk memastikan penyebaran ke Azure SQL Database berhasil.
- Tinjau log dan output untuk memecahkan masalah apa pun selama penyebaran.
Saran
- Integrasikan dengan Alur Rilis: Integrasikan alur build Anda dengan alur rilis untuk skenario dan persetujuan penyebaran yang lebih kompleks.
- Membuat perubahan database bertahap: Menggunakan alat seperti SQL Server Data Tools (SSDT) atau migrasi untuk mengelola perubahan bertahap pada skema database Anda.
- Gunakan kontrol versi: Pertahankan skrip SQL dan perubahan database Anda di bawah kontrol versi untuk melacak perubahan dan memastikan reproduksi.
Sesuaikan konfigurasi dan tugas berdasarkan kebutuhan penyebaran dan persyaratan organisasi spesifik Anda.
Membuat cadangan SQL Server
Membuat cadangan SQL Server untuk Azure DevOps Server 2022 menggunakan Konsol Administrasi Azure DevOps Server melibatkan konfigurasi pengaturan cadangan dan penjadwalan cadangan reguler. Lakukan langkah-langkah berikut untuk membuat cadangan SQL Server.
Prasyarat untuk backup
Kategori | Persyaratan |
---|---|
Akses | Administrator akses ke server tempat Server Azure DevOps diinstal. |
Izin | Izin untuk mengonfigurasi cadangan dan mengakses SQL Server Management Studio. |
Membuat cadangan
Luncurkan Konsol Administrasi Server Azure DevOps di server tempat Azure DevOps Server diinstal dan pilih Tingkat Aplikasi>Pencadangan Terjadwal>Membuat Cadangan Terjadwal.
Masukkan jalur pencadangan jaringan, lalu pilih Berikutnya.
Pilih pemberitahuan email yang diinginkan, lalu pilih Berikutnya.
Pilih jadwal pencadangan berdasarkan kebutuhan Anda, lalu pilih Berikutnya.
Konfirmasi pengaturan konfigurasi Anda dan pilih Verifikasi.
Wizard cadangan memverifikasi bahwa jalur cadangan ada dan merupakan jalur jaringan.
Memecahkan masalah kesalahan
Jika ada kegagalan pemeriksaan kesiapan, lihat informasi berikut untuk bantuan pemecahan masalah.
Kesalahan: Akses Akun Layanan
Pesan kesalahan:TF401009: The Azure DevOps service account NT AUTHORITY\LOCAL SERVICE cannot access network shares. Change to an account that can access the backup path.
Kesalahan ini terjadi ketika akun layanan adalah NT AUTHORITY\LOCAL SERVICE.
Solusi :
Buat pengguna lokal dengan izin akses yang diperlukan.
Di Konsol Administrasi Azure DevOps Server, buka layar Tingkat Aplikasi dan pilih Ubah Akun.
Ubah akun layanan ke akun pengguna lokal yang baru dibuat.
Ulangi proses pencadangan agar berhasil membuat cadangan dan jalankan ulang pemeriksaan kesiapan.
Konfigurasi pencadangan berhasil:
Log cadangan terjadwal:
Pencadangan terjadwal Konsol Administrasi:
Kesalahan: File Log
Contoh lokasi file log:
C:\ProgramData\Microsoft\Azure DevOps\Server Configuration\Logs\Azure_DevOps_Server_Scheduled Backups_0627_192409.log
Contoh pesan kesalahan file log:
[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)
Solusi :
Pastikan semua grup file dalam keadaan daring sebelum melakukan pencadangan.
contoh LeadingKeyOffline: cuplikan layar
Uji proses pencadangan menggunakan kueri SQL untuk mengidentifikasi dan menyelesaikan masalah apa pun dengan grup file tertentu.