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şturacak, şema nesnelerini tanımlayacak, projeyi derleyip doğrulayacak ve ambarınıza yayımlayacaksınız.

Ö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 ambardan 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. Profil Adı girin. Parametreler'i seçin.
    3. Sunucu adını belirtin. Doku portalında, ambarınızın Ayarları'ndaSQL uç noktasını seçin ve sağlanan dizeyi kopyalayın. Bu, ambarınızın sunucu adıdır ve SQL analiz 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. Diğer bilgileri varsayılan olarak veya istediğiniz şekilde sağlayın ve Bağlan'ı 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ı 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. Başarılı ayıklama sonrasında şu bildirimi görürsünüz: "Proje dosyalarını ayıkla: Başarılı. 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. Microsoft.Build.Sql SDK'sının en son sürümünün dosyada olduğunu doğrulayın. Örneğin, .sqlproj dosyasında Microsoft.Build.Sql sürümünü 2.0.0 olarak değiştirin.

       <Sdk Name="Microsoft.Build.Sql" Version="2.0.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.0.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. Dosyadaki .sqlproj varsayılan sürüm değerleri zaman içinde değişebileceğinden, yerel projenizde bunları Microsoft.SqlServer.Dacpacs.FabricDw için NuGet'ten sağlanan en son sürümlerle uyumlu olacak şekilde güncelleştirdiğinizden emin olun.

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. Henüz açılmamışsa veritabanı projesini açın.

  2. Projeye sağ tıklayın ve veritabanı projesini oluşturmak için Oluştur'a tıklayın.

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

  3. Yapı başarılı olmalıdır. Derleme olayının çıkışında sağlanan iletilere göre hataları düzeltin.

Uyarı

Veritabanı Projeleri uzantısındaki Derleme işleminin başarılı olması için şu anda Visual Studio Code varsayılan terminalinizin PowerShell olması gerekir. Komut Paleti'ndeTerminal: Varsayılan Profil'i 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. Bir .dacpac dosyasındaki ambar şemasının derlenmiş modeli hedef ambara dağıtılabilir.

  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.

    • Ambarınızı yayımlamak için seçenekleri bir yayımlama profilinde kaydedebilirsiniz. İşlemi tamamladığınızda, kendi yayımlama seçeneklerinizi az önce kullandığınız yayımlama profili dosyasına kaydetmek için bir Visual Studio Code bildiriminde seçeneğiniz gösterilir.
    • Gelecekte projenizi ambarınıza yayımladığınızda yayımlama profilini yeniden kullanabilirsiniz. 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 Betik Oluşturun ve hedef depolama alanına uygulanacak olan sonuçta elde edilen T-SQL'i gözden geçirin. Hedef ambarda değişiklik yapılmaz.
    • Yayımla'yı seçerseniz, değişiklikler hedef ambarınıza yazılır.

    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 Doku Data Warehouse dağıtırken çeşitli ayarlar şema değişikliklerini denetler 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 ön dağıtım betiği için

    • Ne yapar: Şema dağıtımından önce özel SQL betiklerini yürütü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: Betiklerin idempotent olduğundan ve dağıtımla çakışabilecek şema değişiklikleri getirmediğinden emin olun.

Tip

Bir dağıtım işlemi idemotent olduğunda, sorun yaratmadan birden çok kez çalıştırılabilir; ayrıca, herhangi bir durumlarını önceden belirlemeye gerek kalmadan birden çok veritabanına dağıtabilirsiniz.

  • Postdeploy dağıtım sonrası betiği 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: Üretimdeki büyük tablolarda ağır işlemleri gerçekleştirmekten kaçının; gerekirse betiklerin birden çok kez güvenli bir şekilde çalıştırılabildiğinden emin olun.

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

Yayımlamayı doğrula

Değiştirilen ambar ve betik nesnelerinize bağlanın veya sistem kataloğu nesnelerini çalıştırarak doğrulayın.