Visual Studio Code'de ambar projeleri geliştirme

Şunlara uygulanır:✅ Warehouse in Microsoft Fabric

Visual Studio Code'da Fabric Data Warehouse için bir veritabanı projesini nasıl ayarlayacağınızı öğrenin. Yeni bir proje oluşturuyorsunuz, şema nesneleri tanımlıyorsunuz, projeyi inşa edip doğrulıyorsunuz ve depoya yayınlarsınız.

Önemli

Bu özellik önizleme aşamasındadır.

Önkoşullar

Başlamadan önce şunları yaptığınızdan emin olun:

  • Katkıda Bulunan veya daha yüksek izinlere sahip olunması durumunda, bir Fabric çalışma alanında mevcut bir ambar öğesine erişim sağlayın.
    • Yeni bir örnek ambar oluşturmak için bkz. Microsoft Fabric'da örnek Bir Ambar oluşturma.
  • İş istasyonunuza Visual Studio Code yükleyin.
  • Veritabanı projeleri oluşturmak ve yayımlamak için .NET SDK'sını yükleyin.
  • İki Visual Studio Code uzantısı yükleyin: SQL Veritabanı Projeleri ve SQL Server (mssql).
    • "SQL Veritabanı Projeleri" veya "SQL Server (mssql)" araması yaparak gerekli uzantıları doğrudan Visual Studio Code marketten yükleyebilirsiniz.

Yeni veritabanı projesi oluşturma

Sıfırdan veya mevcut bir depodan bir veritabanı projesi oluşturabilirsiniz.

1. Seçenek: Visual Studio Code'da Komut Paleti'nden yeni bir veritabanı projesi oluşturma

  1. Visual Studio Code açın.

  2. Komut Paleti'ni (Ctrl+Shift+P veya Cmd+Shift+P Mac'te) açın.

  3. Veritabanı Projelerini Ara: Yeni.

  4. Veritabanı Proje TürüSQL Server Veritabanı olarak seçin.

  5. Bir proje adı seçin ve yerel klasör konumunu seçin.

  6. Hedef platform olarak Microsoft Fabric içinde Synapse Data Warehouse seçin.

  7. İstendiğinde, SDK stilinde bir proje için Evet (önerilir) seçeneğini belirleyin.

    Önemli

    Fabric Data Warehouse için yalnızca SDK stili projeler desteklenir.

  8. Sql projesi derlemesini bu klasör için varsayılan derleme yapılandırması olarak yapılandırmak istiyor musunuz? sorusu içinEvet'i seçin.

  9. Bu klasördeki dosyaların yazarlarına güvenmek için Evet'i seçin.

Seçenek 2: Veritabanı Projeleri uzantısından yeni bir veritabanı projesi oluşturma

  1. Visual Studio Code Activity Bar bölümünden Database Projects uzantısı simgesini seçin.

  2. Veritabanı Projeleri bölmesinde Yeni oluştur'u seçin.

    Veri Veritabanı Projeleri uzantısı bölmesini ve Yeni oluştur düğmesini gösteren Visual Studio Code ekran görüntüsü.

  3. Veritabanı Proje TürüSQL Server Veritabanı olarak seçin.

  4. Bir proje adı seçin ve yerel klasör konumunu seçin.

  5. Hedef platform olarak Microsoft Fabric içinde Synapse Data Warehouse seçin.

  6. İstendiğinde, SDK stilinde bir proje için Evet (önerilir) seçeneğini belirleyin. Fabric Data Warehouse için yalnızca SDK stili projeler desteklenir.

  7. Sql projesi derlemesini bu klasör için varsayılan derleme yapılandırması olarak yapılandırmak istiyor musunuz? sorusu içinEvet'i seçin.

  8. Bu klasördeki dosyaların yazarlarına güvenmek için Evet'i seçin.

3. Seçenek: Mevcut bir ambardan veritabanı projesi oluşturma

  1. İlk olarak, Visual Studio Code'da ambarınız için yeni bir bağlantı profili oluşturun.

    1. Visual Studio Code'da Activity Bar üzerinden SQL Server uzantısını seçin.
    2. Bir profil adı girin. Parametreler'i seçin.
    3. Sunucu adını girin. Doku portalında, ambarınızın Ayarları'ndaSQL uç noktasını seçin ve sağlanan dizeyi kopyalayın. Bu sunucu adı deponuzun için ve SQL analitik uç noktasından farklıdır. Şuna benzer: <server unique ID>.datawarehouse.fabric.microsoft.com.
    4. Authentication type için Microsoft Entra ID - MFA desteğiyle Evrensel kullanın. Microsoft Entra ID ile kimlik doğrulama yapın.
    5. Varsayılan veya istenen diğer bilgileri de verin ve Bağla'yı seçin.
  2. Visual Studio Code'da Etkinlik Çubuğu'ndan Database Projeleri uzantısı simgesini seçin.

  3. ... bölmesinden seçenekler düğmesini seçin ve Veritabanından Proje Oluştur seçeneğini belirleyin.

    Veritabanından Proje Oluştur seçeneğini gösteren Visual Studio Code ekran görüntüsü.

  4. Mevcut bağlantı profillerinden ambarınızı seçin.

  5. Bir proje adını girin ve iş istasyonunuzda bir proje klasörü seçin.

  6. Klasör yapısı için Şema/Nesne Türü (önerilir) öğesini seçin.

  7. Projeye izinleri dahil et içinHayır (varsayılan) seçeneğini belirleyin.

  8. SDK stili proje için Evet (önerilen) seçeneğini belirleyin.

  9. Sql projesi derlemesini bu klasör için varsayılan derleme yapılandırması olarak yapılandırmak istiyor musunuz? sorusu içinEvet'i seçin.

  10. Visual Studio Code, ambar projesinden proje dosyalarını ayıklar.

    Visual Studio Code ekran görüntüsü, proje dosyalarını ayıklama ilerleme bildirimini gösteriyor.

  11. Çıkarma işlemi başarılı olduğunda aşağıdaki bildirimi görürsünüz: "Proje dosyalarını çıkar: Başarılı oldu." Tamamlandı".

  12. Bu klasördeki dosyaların yazarlarına güvenmek için Evet'i seçin.

Ambarınız için yeni veritabanı projesi

Ambarınız için yeni veritabanı projesi SQL Veritabanı Projeleri menüsünde görüntülenir.

AdventureWorksDW2022 için yeni veritabanı projesini gösteren Visual Studio Code ekran görüntüsü.

Proje yapınız şöyle görünür:

 | Project Name
 ├── Database References
 ├── SQLCMD Variables
 ├── .vscode/
 └── schema/
     ├── Functions
     ├── Tables
     └── Views

Veritabanı projesini yapılandırma

  1. Projeye sağ tıklayın ve .sqlproj Dosyasını Düzenle'yi seçin.

    Aynı veritabanı projesinin bağlam menüsünden Visual Studio Code ekran görüntüsü. Sqlproj Dosyasını Düzenle seçeneği vurgulanmış.

  2. Dosyanın Microsoft.Build.Sql SDK'sının en son sürümünü içerdiğini doğrulayın. Örneğin, .sqlproj dosyasında Microsoft.Build.Sql için sürümü 2.2.0 olarak değiştirin.

       <Sdk Name="Microsoft.Build.Sql" Version="2.2.0" />
    
  3. Microsoft.SqlServer.Dacpacs.FabricDw dosyasının en son sürümünü doğrulayın ve XML düğümüne Project/ItemGroup bir başvuru ekleyin. Örneğin:

       <PackageReference Include="Microsoft.SqlServer.Dacpacs.FabricDw" Version="170.0.2" />
    

    Bir ambar için veritabanı projeniz güncelleştirmelerin ardından böyle görünmelidir.

     <?xml version="1.0" encoding="utf-8"?>
     <Project DefaultTargets="Build">
       <Sdk Name="Microsoft.Build.Sql" Version="2.2.0" />
       <PropertyGroup>
         <Name>DatabaseProject715wh</Name>
         <ProjectGuid>{2E278BCC-F118-4DDB-9255-94697F2930B4}</ProjectGuid>
         <DSP>Microsoft.Data.Tools.Schema.Sql.SqlDwUnifiedDatabaseSchemaProvider</DSP>
         <ModelCollation>1033, CI</ModelCollation>
       </PropertyGroup>
       <ItemGroup>
         <None Include=".vscode\tasks.json" />
         <PackageReference Include="Microsoft.SqlServer.Dacpacs.FabricDw" Version="170.0.2" />
       </ItemGroup>
       <Target Name="BeforeBuild">
         <Delete Files="$(BaseIntermediateOutputPath)\project.assets.json" />
       </Target>
     </Project>
    
  4. Dosyanızı .sqlproj kaydedin. Veritabanı projenizi yeniden yükleme isteminde Evet'i seçin.

Önemli

Fabric Data Warehouse ekibi sık sık NuGet paketlerinin yeni sürümlerini yayınlamaktadır. .sqlproj dosyasındaki varsayılan sürüm değerleri zaman içinde değişebileceğinden, Microsoft.SqlServer.Dacpacs.FabricDw için NuGet'te bulunan en son sürümlerle uyumlu kalmak amacıyla bu değerleri yerel projenizde güncelleyin.

Veritabanı nesneleri ekleme veya güncelleştirme

Ambar projenizde tablolar, görünümler, saklı yordamlar ve işlevler gibi veritabanı nesnelerini tanımlayabilir veya değiştirebilirsiniz.

Örneğin dbo, bir şema klasörünün altında, ambarınızdaki nesnelerin T-SQL tanımlarını ekleyin veya silin veya değişiklikler yapın. Mevcut bir nesneyi değiştirmek için ilgili .sql dosyasını açın ve tanımı gerektiği gibi güncelleştirin.

Projeyi oluşturduğunuzda, tüm yeni ve güncelleştirilmiş nesneler doğrulanır ve oluşturulan dosyadaki {project folder location}/bin/debug/{project name}.dacpac dacpac dosyasına eklenir.

Yapılan değişiklikler yalnızca veritabanı projesine uygulanır ve projenizi Build ve Publish ettiğinizdeye kadar Microsoft Fabric'e yansımaz.

Projeyi derleme ve doğrulama

  1. Veritabanı projesi henüz açık değilse açın.

  2. Projeye sağ tıklayın ve veritabanı projesini oluşturmak için Build seçeneğini seçin.

    Veritabanı projesini oluşturma seçeneğini gösteren Visual Studio Code ekran görüntüsü.

  3. Derleme başarılı bir şekilde tamamlanmalıdır. Build etkinliğinin çıktısında verilen mesajlara dayanarak hataları düzeltin.

Uyarı

Şu anda, Database Projects uzantısındaki derleme sürecinin başarılı olması için Visual Studio Code varsayılan terminalinizin PowerShell olması gerekir. Komut PaletindeTerminal: Varsayılan Profili seç ve ardından PowerShell'i seçin.

Fabric Data Warehouse'a Yayınla

Projenizi derledikten sonra hedef ambarınıza yayımlayın. Yayımlama, veritabanı projesiyle gerçek veritabanı ambarı arasındaki farkı çözmek için bir betik oluşturur ve ambarın projeyle eşleşmesini sağlamak için bir betik yürütür. Depo şemasının derlenmiş modelini .dacpac dosyasında hedef depoya dağıtabilirsiniz.

  1. Projeye sağ tıklayın ve Yayımla'yı seçin.

  2. Var olan bir SQL sunucusunda yayımla'yı seçin.

  3. Yüklenecek yayımlama profilini seçin için, ilk kez yayımladığınızda Profilsiz yayımla seçin.

    • Deponuzu yayınlama profiline yayınlama seçeneklerini kaydet. Visual Studio Code bildirimi, kullandığınız yayınlama seçeneklerini yayınlama profil dosyasına kaydetme seçeneği sunar.
    • Projenizi depoya yayımlarken gelecekte yayın profilini tekrar kullanın. Geliştirme/test/kabul/üretim geliştirme ortamlarınızda farklı ambarlar veya farklı ortamlar için farklı profil seçenekleriniz olabilir.
  4. Listeden Fabric Data Warehouse bağlantı profilini seçin.

  5. Hedef ambarın adını seçin.

  6. Eylem seç seçeneğinde, betiği yayımlamadan önce gözden geçirmek için Betik Oluştur'u kullanabilir veya projeyi bir depoya yayımlayabilirsiniz. - Değişiklikleri ilk kez dağıtmak istediğinizde, dikkatlice Script oluşturun ve ortaya çıkan T-SQL'i hedef depoya uygulamak için gözden geçirin. Script oluşturulduğunda hedef depoda hiçbir değişiklik yapılmıyor.

    • Yayımlamayı seçerseniz, süreç hedef deponuzda değişiklikler yazar.

    Deploy dacpac: Devam ediyor bildirimini gösteren Visual Studio Code ekran görüntüsü.

  7. Bildirimde, ayarları bir profile (.publish.xml) kaydetmek ister misiniz? bildirimindeEvet'i seçin ve yayımlama profili seçimlerinizi bir sonraki yayımlamanız gereken zaman için kaydedin.

Ambar projeleri için önemli dağıtım ayarları

Veritabanı projelerini Fabric Data Warehouse'ye dağıttığınızda, birkaç ayar şema değişikliklerini kontrol eder ve veri güvenliğini etkileyebilir. Dikkatli kullanın.

  • BlockOnPossibleDataLoss

    • Ne yapar: Veri kaybı riski varsa dağıtımı engeller (örneğin, veri içeren bir sütunu veya tabloyu bırakma).
    • Tavsiye: Kritik verileri korumak için True her zaman üretimde olarak ayarlanır.
    • Dikkat: Veri kaybı meydana gelse bile dağıtıma izin verecek şekilde False ayarlayın. Yalnızca denetimli ortamlarda (geliştirme/test gibi) kullanın.
  • DropObjectsNotInSource

    • Ne yapar: Hedef veritabanındaki proje kaynağında bulunmayan nesneleri bırakır.
    • Tavsiye: Kalan nesneleri temizlemek için geliştirme ve test ortamlarında kullanın.
    • Dikkat: Üretimde kullanmak DropObjectsNotInSourceönemli nesneleri ve verileri silebilir. Etkinleştirmeden önce iki kez denetleyin.
  • PreDeploy dağıtım öncesi betiği için

    • İşlevi
      • Şema dağıtımından önce özel SQL betiklerini çalıştırır.
    • Yaygın kullanımlar
      • Tabloları bırakmadan önce verileri arşivleyin veya yedekleyin
      • Kısıtlamaları veya tetikleyicileri geçici olarak devre dışı bırakma
      • Eski nesneleri temizleme
    • Dikkat
      • Scriptlerin aynı güçlü olduğundan emin olun ve dağıtımla çakışan şema değişiklikleri getirmeyin.

Tip

Bir dağıtım süreci veya sorgu idempotent olduğunda, komutu mantıksal sorunlar veya hatalar yaratmadan birden fazla kez çalıştırabilirsiniz. Bir idempotent komut, ayrıca veritabanlarının durumunu önceden belirlemeye gerek kalmadan birden fazla veritabanına dağıtılabilecek şekilde yazılır.

  • PostDeploy dağıtım sonrası komut dosyası için

    • Ne yapar: Şema dağıtımından sonra özel SQL betiklerini yürütür.
    • Yaygın kullanımlar:
      • Tohum arama veya başvuru verileri
      • Kısıtlamaları veya tetikleyicileri yeniden etkinleştirme
      • Dağıtım kaydı geçmişi
    • Dikkat: Üretimde büyük masalarda ağır işlemlerden kaçının. Gerekirse betiklerin güvenli bir şekilde birden çok kez çalıştırılabilmesini sağlayın.

Önemli

Yayımlamadan önce her zaman dağıtım betiklerini ve ayarlarını gözden geçirin. İstenmeyen veri kaybını önlemek için önce geliştirme veya test ortamlarında test edin. Daha fazla bilgi ve örnek için bkz. Fabric Data Warehouse için dağıtım öncesi ve dağıtım sonrası betikleri.

Yayımlamayı doğrula

Depoya bağlanıp değişen nesneleri script edin ya da sistem katalog nesnelerini çalıştırarak doğrulayın.