Microsoft Fabric'da SQL veritabanı kaynak denetimi tümleştirmesi

Şunun için geçerlidir:SQL veritabanı Microsoft Fabric'da

Bu öğreticide, Doku git tümleştirme kaynağı denetimini kullanarak Doku'daki SQL veritabanınızla çalışmayı öğreneceksiniz.

Microsoft Fabric'teki bir SQL veritabanı, kullanıcıların zaman içinde veritabanı nesnelerinin tanımlarını izleyebilmesi için kaynak denetimi tümleştirmesine veya "git tümleştirmesine" sahiptir. Bu tümleştirme, bir ekibin şunları yapmasını sağlar:

  • Veritabanını kaynak denetimine işleyin; bu da canlı veritabanını otomatik olarak yapılandırılan kaynak denetimi deposundaki koda dönüştürür (örneğin, Azure DevOps).
  • Kaynak denetim deposunun içeriğinden veritabanı nesnelerini güncelleyin. Kodun kaynak denetim deposunda doğrulanmasından sonra veritabanına farklı bir değişiklik uygulayın.

Canlı veritabanı ve kaynak denetimi arasındaki basit işleme ve güncelleştirme döngüsünün diyagramı.

Git'i bilmiyorsanız önerilen birkaç kaynak şunlardır:

Bu makalede, Doku'da SQL veritabanıyla geliştirme sürecinizi yönetmek için tek tek veya birlikte kullanabileceğiniz bir dizi yararlı senaryo sunulur:

Bu makaledeki senaryolar, Kullanıma Sunulan Veriler bölümünde ele alınmıştır. Fabric'deki kaynak kontrol entegrasyonuna genel bir bakış için videoyu izleyin.

Not

Harmanlama ve uyumluluk düzeyi gibi veritabanı düzeyi ayarları şu anda kaynak denetimi ve dağıtım işlem hatları tümleştirmesine dahil değildir. Veritabanı oluşturulduktan sonra T-SQL kullanarak ayarlayabileceğiniz veritabanı ayarları için, dağıtımdan sonra veritabanını betiklerle değiştirebilirsiniz.

Önkoşullar

  • Mevcut bir Fabric kapasitesine ihtiyacınız vardır. Şayet yapmazsanız, bir Fabric deneme sürümü başlatın.
  • Git tümleştirme kiracı ayarlarını etkinleştirdiğinizden emin olun.
  • Yeni bir çalışma alanı oluşturun veya var olan bir Fabric çalışma alanını kullanın.
  • Fabric üzerinde mevcut bir SQL veritabanı oluşturun veya kullanın. Henüz bir veritabanınız yoksa, Doku'da yeni bir SQL veritabanı oluşturun.
  • İsteğe bağlı: VS Code için Visual Studio Code, MSSQL uzantısını ve SQL projelerini uzantısını yükleyin.

Ayarlama

Bu depo bağlantısı, depodaki tek bir dalın söz konusu çalışma alanıyla ilişkili olması için çalışma alanı düzeyinde geçerlidir. Depoda birden çok dal olabilir, ancak yalnızca çalışma alanı ayarlarında seçilen daldaki kod çalışma alanını doğrudan etkiler.

Çalışma alanınızı bir kaynak denetimi deposuna bağlama adımları için bkz . Git tümleştirmesini kullanmaya başlama. Çalışma alanınız bir Azure DevOps veya GitHub uzak depoya bağlanabilir.

Fabric SQL veritabanını kaynak denetimine ekleme

Bu senaryoda, veritabanı nesnelerini kaynak denetimine işlersiniz. Nesneleri doğrudan bir test veritabanında oluşturduğunuz ve bu veritabanını uygulama kodunuz gibi kaynak denetiminde takip ettiğiniz bir uygulama geliştiriyor olabilirsiniz. Sonuç olarak, veritabanı nesne tanımlarınızın geçmişine erişebilirsiniz ve geliştirme sürecinizi özelleştirmek için dallanma ve birleştirme gibi Git kavramlarını kullanabilirsiniz.

  1. SQL veritabanınıza Yapı SQL düzenleyicisinde, SQL Server Management Studio, Visual Studio Code için MSSQL uzantısında veya diğer dış araçlarda bağlanın.
  2. Veritabanında yeni bir tablo, saklı yordam veya başka bir nesne oluşturun.
  3. Kaynak denetim masasını açmak için Kaynak denetimi düğmesini seçin.
  4. İstenen veritabanının yanındaki onay kutusunu seçin. Onayla seçin. Doku hizmeti veritabanından nesne tanımlarını okur ve bunları uzak depoya yazar.
  5. Artık kod deposu kaynak görünümünde veritabanı nesnelerinin geçmişini görüntüleyebilirsiniz.

Mevcut nesneleri düzenlemek de dahil olmak üzere veritabanını düzenlemeye devam ettikçe, önceki adımları izleyerek bu değişiklikleri kaynak denetimine işleyin.

SQL proje dosyası

Kaynak denetim deposundaki SQL proje dosyası, veritabanı hakkındaki meta verileri içerir. Fabric kaynak denetimi entegrasyonu, kaynak denetimi ve dağıtım işlem hatlarına daha fazla işlevsellik kazandırmak için bu dosyayı kullanır. Fabric kaynak kod denetimi entegrasyonu proje dosyasını otomatik olarak oluşturur ve günceller. Proje dosyasındaki düzenlemeleriniz Doku'dan sonraki işlemede Doku kaynak denetimi tümleştirmesi tarafından üzerine yazıldığından, proje dosyasında el ile yapılan düzenlemelerden kaçının. Ancak, SQL Server Management Studio gibi SQL araçlarını veya Visual Studio Code için SQL projeleri uzantısını kullanarak yerel olarak bir SQL projesi oluşturmak istiyorsanız, proje dosyanızdaki dosyaya master.dacpac bir başvuru ekleyebilirsiniz.

SQL projeleriyle Doku tümleştirmesi şu meta veri özelliklerini proje dosyasına ekler:

Sistem nesnesi başvuru özelliği, hiçbir eyleme gerek olmadan otomatik olarak ayarlanır. Fabric sorgu düzenleyicisi, Paylaşılan Sorgular klasörü altında dağıtım öncesi ve dağıtım sonrası betikler sağlar.

Fabric SQL veritabanını kaynak denetiminden güncelleştirin

Bu senaryoda, Visual Studio Code'daki SQL projeleri uzantısında veritabanı nesnelerini kod olarak oluşturur ve ardından dosyaları kaynak kontrolüne kaydettikten sonra, Fabric SQL veritabanını kaynak kontrolü entegrasyonundan güncelleyebilirsiniz. Bu senaryo, Visual Studio Code'da çalışmayı tercih eden, SQL projelerini kullanan mevcut uygulamalara sahip olan veya daha gelişmiş CI/CD işlem hattı gereksinimlerine sahip olan geliştiricilere yöneliktir.

  1. Visual Studio Code'un en son sürümünü ve Visual Studio Code için MSSQL ve SQL projeleri uzantılarını yüklediğinizden emin olun.
  2. Çalışma alanınızda yeni bir SQL veritabanı oluşturun ve herhangi bir nesne eklemeden kaynak denetimine işleyin. Bu adım boş SQL projesini ve SQL veritabanı öğesi meta verilerini depoya ekler.
  3. Kaynak denetim deposunu yerel makinenize kopyalayın.
    • Azure DevOps kullanıyorsanız kaynak denetim projesi için ... bağlam menüsünü seçin. Azure DevOps deponuzu yerel makinenize kopyalamak için Clone öğesini seçin. Azure DevOps'e yeniyseniz, Azure DevOps için "git ile kodlama" kılavuzuna bakın.
    • GitHub kullanıyorsanız, depodaki Code düğmesini seçin ve depoyu yerel makinenize kopyalamak için URL'yi kopyalayın. GitHub'a yeniyseniz bir depoyu klonlama kılavuzuna bakın.
  4. Kopyalanan klasörü Visual Studio Code açın. Çalışma alanınızla ilişkilendirilmiş dal varsayılan olmayabilir. Dalını değiştirdikten sonra Visual Studio Code'da adlı <yourdatabase>.SQLDatabase bir klasör görmeniz gerekir.
  5. Veritabanınızın klasör yapısı içinde veritabanında oluşturmak istediğiniz en az bir tablo için bir .sql dosya oluşturun. Dosya, tablonun CREATE TABLE ifadesini içermelidir. Örneğin, klasöründe aşağıdaki içeriğe MyTable.sql sahip adlı dbo/Tables bir dosya oluşturun:
    CREATE TABLE dbo.MyTable
    (
        Id INT PRIMARY KEY,
        ExampleColumn NVARCHAR(50)
    );
    
  6. Söz diziminin geçerli olduğundan emin olmak için VERITABANı modelini SQL projesiyle doğrulayın. Dosyaları ekledikten sonra Visual Studio Code'daki Veritabanı Projeleri görünümünü kullanarak projeyi oluşturun .
  7. Başarılı bir derlemeden sonra Visual Studio Code'daki kaynak denetim görünümünü veya tercih ettiğiniz yerel git arabirimini kullanarak dosyaları kaynak denetimine işleyin .
  8. Commit'inizi uzak depoya gönderin/senkronize edin. Yeni dosyalarınızın Azure DevOps veya GitHub'da görüntülenip görüntülenmediğini denetleyin.
  9. Fabric web arabirimine dönün ve çalışma alanında Kaynak denetimi panelini açın. "Git'ten bekleyen değişiklikleriniz var" uyarınız zaten olabilir. SQL projenizdeki kodu veritabanına uygulamak için Güncelleştir (Tümünü Güncelleştir) düğmesini seçin.
    • Veritabanını güncellemeden hemen sonra "İşlem Yapılmamış" olduğunu belirttiğini görebilirsiniz. Bu durum, Git Tümleştirme özelliğinin bir öğe tanımı için oluşturulan tüm dosya içeriğinin doğrudan karşılaştırmasını yaptığı ve bazı istenmeyen farklılıklar mümkün olduğu için oluşur. Sütunlardaki satır içi öznitelikler buna bir örnektir. Böyle durumlarda, tanımı bir işleme işleminin parçası olarak oluşturulan öğeyle eşitlemek için Doku web arabirimindeki kaynak denetimine geri işlemeniz gerekir.
  10. Güncelleştirme tamamlandıktan sonra, veritabanına bağlanmak için seçtiğiniz bir aracı kullanın. SQL projesine eklediğiniz nesneler veritabanında görünür.

Not

Yerel SQL projesinde değişiklik yaptığınızda, Doku'da bir söz dizimi hatası veya desteklenmeyen özellikler kullanılıyorsa veritabanı güncelleştirmesi başarısız olur. Devam etmeden önce kaynak denetimindeki değişikliği el ile geri döndürmeniz gerekir.

Kaynak denetiminden bir SQL veritabanını Fabric üzerinde güncellemek, bir SQL proje derlemesi ve SqlPackage yayımlama işlemlerini birleştirir. SQL projesi derlemesi, SQL dosyalarının söz dizimini doğrular ve bir .dacpac dosyası oluşturur. SqlPackage yayımlama işlemi, veritabanını dosyayla eşleşecek .dacpac şekilde güncelleştirmek için gereken değişiklikleri belirler. Doku arabiriminin kolaylaştırılmış yapısı nedeniyle, SqlPackage yayımlama işlemine aşağıdaki seçenekler uygulanır:

  • /p:ScriptDatabaseOptions = false
  • /p:DoNotAlterReplicatedObjects = false
  • /p:IncludeTransactionalScripts = true
  • /p:GenerateSmartDefaults = true

Ayrıca, visual studio code, SQL Server Management Studio veya diğer SQL proje araçlarında düzenlemek üzere kaynak denetimli SQL projesini yerel makinenize kopyalayabilirsiniz. Değişiklikleri kaynak denetimine işlemeden önce doğrulamak için SQL projesini yerel olarak oluşturun.

Dal çalışma alanı oluştur

Bu senaryoda, Doku'nun kaynak denetimi tanımına göre yinelenen bir kaynak kümesi oluşturmasını sağlayarak Doku'da yeni bir geliştirme ortamı ayarlarsınız. Yinelenen veritabanı, kaynak denetimine iade ettiğiniz veritabanı nesnelerini içerir. Bu senaryo, Doku'da uygulama geliştirme yaşam döngüsünü sürdüren ve Doku'dan kaynak denetimi tümleştirmesini kullanan geliştiricilere yöneliktir.

  1. Senaryoyu tamamlayın: Fabric SQL veritabanını kaynak denetimindeki koda dönüştürün.
    • Kaynak denetim deposunda hem SQL projesi hem de Doku nesnesi meta verilerini içeren bir dalınız olmalıdır.
  2. Fabric çalışma alanında kaynak denetim panelini açın. Kaynak denetim menüsünün Dallar sekmesindenyeni bir çalışma alanına dallanma seçeneğini seçin.
  3. Oluşturulacak dalın ve çalışma alanının adlarını belirtin. Dal, kaynak denetim deposunda oluşturulur ve dalladığınız çalışma alanıyla ilişkili dalın kaydedilmiş içeriğiyle doldurulur. Çalışma alanı Fabric'de oluşturulur.
  4. Fabric'de yeni yaratılan çalışma alanına gidin. Veritabanı oluşturma işlemi tamamlandığında, yeni oluşturulan veritabanı artık kod deponuzda belirtilen nesneleri içerir. Doku sorgu düzenleyicisini açar ve Nesne gezgininde gezinirseniz veritabanınızda yeni (boş) tablolar ve başka nesneler vardır.

Değişiklikleri bir daldan diğerine birleştirme

Bu senaryoda, kaynak denetim deposunu kullanarak veritabanı değişikliklerini dağıtıma sunulmadan önce gözden geçireceksiniz. Bu senaryo, ekip ortamında çalışan ve veritabanı değişikliklerini yönetmek için kaynak denetimi kullanan geliştiricilere yöneliktir.

Önceki senaryoda açıklandığı gibi, aynı depoda ilişkili dallarla iki çalışma alanı oluşturun.

  1. veritabanı ikincil dalda olduğu için veritabanı nesnelerinde değişiklik yapın.
    • Örneğin, mevcut bir saklı yordamı değiştirin veya yeni bir tablo oluşturun.
  2. Doku'daki kaynak denetim masasındaki yürüt düğmesini kullanarak kaynak denetiminde yapılan bu değişiklikleri denetleyin.
  3. Azure DevOps veya GitHub'ta, ikincil daldan birincil dala bir pull isteği oluşturun.
    • Çekme isteğinde, veritabanı kodunda birincil çalışma alanı ile ikincil çalışma alanı arasındaki değişiklikleri görebilirsiniz.
  4. Çekme isteğini tamamladıktan sonra kaynak denetimi güncelleştirilir, ancak birincil çalışma alanındaki Fabric veritabanı değiştirilmez. Birincil veritabanını değiştirmek için, Doku'daki kaynak denetim masasındaki Güncelleştir düğmesini kullanarak kaynak denetiminden birincil çalışma alanını güncelleştirin.

Dağıtım sonrası komut dosyası ile statik verileri yönetmek

Bu senaryoda, veritabanınızdaki bir arama tablosundaki satırları kaynak denetimiyle denetleyebilirsiniz. Bu işlevselliği, dağıtım öncesi ve dağıtım sonrası betiklerini etkinleştiren özellik, dağıtım işlem hatları için de geçerlidir, böylece her iki senaryoda da statik verileri yönetmek için aynı betikleri kullanabilirsiniz.

  1. Kaynak denetimine bağlı Fabric içindeki bir SQL veritabanından, statik veri yönetmek istediğiniz tabloyu belirleyin veya oluşturun. Örneğin, uygulamanız tarafından kullanılan ve sık değişmeyen bilinen bir değer kümesine sahip bir tablonuz olabilir dbo.Colors .

  2. Doku'daki SQL veritabanı düzenleyicisinde yeni bir Sorgu oluşturun. Sorgu düzenleyicisinde, MERGE tablosunun içeriğini yönetmek için bir Colors deyimi ekleyin. Örneğin:

    MERGE dbo.Colors AS target
    USING (VALUES
        (1, 'Red'),
        (2, 'Green'),
        (3, 'Blue')
    ) AS source (Id, Name)
    ON target.Id = source.Id
    WHEN MATCHED THEN
        UPDATE SET Name = source.Name
    WHEN NOT MATCHED BY TARGET THEN
        INSERT (Id, Name) VALUES (source.Id, source.Name)
    WHEN NOT MATCHED BY SOURCE THEN
        DELETE;
    
  3. Sorguyu olarak Post-Deployment-StaticData.sql ve Paylaşılan Sorgular'a taşıyın.

  4. Paylaşılan Sorgular'a girdikten sonra sorgunun ... menüsünü seçin ve Dağıtım Sonrası Betiği Olarak Ayarla'yı seçin.

Bu sorgu, kaynak denetiminden veya dağıtım işlem hattı dağıtımından gelen güncelleştirmelerin bir parçası olarak otomatik olarak çalışır, böylece tablodaki Colors statik verileri kaynak denetimini kullanarak yönetebilirsiniz. Doku sorgu düzenleyicisinde sorguyu düzenleyebilir ve statik verilerdeki değişiklikleri zaman içinde yönetmek için kaynak denetiminde değişiklikleri işleyebilirsiniz. Ayrıca, sql projesine dağıtım öncesi ve dağıtım sonrası betikler dahil edildiğinden, Visual Studio Code veya diğer SQL proje araçlarını kullanarak sorguyu yerel makinenizden düzenleyebilir ve ardından bu değişiklikleri kaynak denetimine işleyebilirsiniz. SQL projeleri belgelerinde dağıtım öncesi ve dağıtım sonrası betikleri hakkında daha fazla bilgi edinin.