Bagikan melalui


Gunakan Azure SQL Database dengan Azure DevOps Server

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

  1. 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:

  2. Untuk menyiapkan instans Azure DevOps Server baru, buat dua database Azure SQL:

    • AzureDevOps_Configuration
    • AzureDevOps_DefaultCollection
  3. 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:

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:

  1. 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.

    Cuplikan layar menunjukkan tombol yang disorot untuk memilih Aplikasi Ekspor Data Tingkat.

  2. 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.

    Cuplikan layar memperlihatkan layar pengenalan untuk mengekspor database Anda.

  3. Pilih kanan SQL Database pada SQL Server logis dari SSMS>Tasks>Mengekspor aplikasi tingkat data wizard.

    Cuplikan layar memperlihatkan lokasi penyimpanan file bacpac yang dimasukkan di layar Pengaturan Ekspor.

  4. Pilih Berikutnya.

    Cuplikan layar memperlihatkan ringkasan pengaturan yang Anda tentukan.

  5. Pilih lokasi untuk menyimpan file BACPAC.

    Cuplikan layar memperlihatkan operasi halaman pesan dan hasil lengkap.

  6. 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

  1. 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.
  2. 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.
  3. 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.

  4. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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'
      
  5. Mengelola kredensial dengan aman: Menggunakan variabel Azure DevOps atau integrasi Azure Key Vault untuk mengelola informasi sensitif seperti kredensial SQL Server (sqlUsername dan sqlPassword).

  6. 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.
  7. 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

  1. Luncurkan Konsol Administrasi Server Azure DevOps di server tempat Azure DevOps Server diinstal dan pilih Tingkat Aplikasi>Pencadangan Terjadwal>Membuat Cadangan Terjadwal.

    Cuplikan layar menampilkan tombol untuk pemilihan di konsol administrasi untuk membuat cadangan terjadwal.

  2. Masukkan jalur pencadangan jaringan, lalu pilih Berikutnya.

    Cuplikan layar memperlihatkan jalur pencadangan jaringan yang telah dimasukkan.

  3. Pilih pemberitahuan email yang diinginkan, lalu pilih Berikutnya.

    Cuplikan layar memperlihatkan tombol Berikutnya yang disorot untuk membuat proses jalur pencadangan jaringan.

  4. Pilih jadwal pencadangan berdasarkan kebutuhan Anda, lalu pilih Berikutnya.

    Cuplikan layar memperlihatkan jadwal pencadangan yang dipilih dan tombol Berikutnya yang disorot.

  5. Konfirmasi pengaturan konfigurasi Anda dan pilih Verifikasi.

    Cuplikan layar memperlihatkan tombol Verifikasi yang disorot pada layar pengaturan konfigurasi.

    Wizard cadangan memverifikasi bahwa jalur cadangan ada dan merupakan jalur jaringan.

    Cuplikan layar memperlihatkan proses check-in kesiapan.

Memecahkan masalah kesalahan

Jika ada kegagalan pemeriksaan kesiapan, lihat informasi berikut untuk bantuan pemecahan masalah.

Kesalahan: Akses Akun Layanan

Cuplikan layar memperlihatkan kesalahan Lingkungan selama pemeriksaan kesiapan.

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.

Cuplikan layar memperlihatkan ringkasan tingkat aplikasi untuk Layanan Lokal Otoritas NT.

Solusi :

  1. Buat pengguna lokal dengan izin akses yang diperlukan. Cuplikan layar memperlihatkan pengguna dan akses lokal yang baru dibuat.

  2. Di Konsol Administrasi Azure DevOps Server, buka layar Tingkat Aplikasi dan pilih Ubah Akun.

  3. Ubah akun layanan ke akun pengguna lokal yang baru dibuat. Cuplikan layar memperlihatkan keanggotaan grup pengguna baru.

  4. Ulangi proses pencadangan agar berhasil membuat cadangan dan jalankan ulang pemeriksaan kesiapan. Cuplikan layar menunjukkan semua pemeriksaan berhasil.

    Konfigurasi pencadangan berhasil:

    Cuplikan layar memperlihatkan konfigurasi pencadangan yang berhasil.

    Log cadangan terjadwal:

    Cuplikan layar memperlihatkan file log cadangan terjadwal.

    Pencadangan terjadwal Konsol Administrasi:

    Cuplikan layar memperlihatkan konsol administrasi yang menampilkan layar cadangan terjadwal.

Kesalahan: File Log

Cuplikan layar memperlihatkan tautan yang disorot untuk mengambil cadangan penuh sekarang.

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 layarmemperlihatkan properti database dan contoh file database LeadingKey.

  • Uji proses pencadangan menggunakan kueri SQL untuk mengidentifikasi dan menyelesaikan masalah apa pun dengan grup file tertentu.