Aracılığıyla paylaş


Visual Studio Code'da ambar projeleri geliştirme

Şunlar için geçerlidir:✅ Warehouse in Microsoft Fabric

Visual Studio Code'da Doku Veri Ambarı için veritabanı projesi ayarlamayı öğ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.
  • Visual Studio Code'u iş istasyonunuza 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 marketinden 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'yu 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ü'nü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'te Synapse Veri Ambarı'nı seçin.

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

    Önemli

    Fabric Veri Ambarı 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'da Etkinlik Çubuğu'ndanVeritabanı Projeleri uzantısı simgesini seçin.

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

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

  3. Veritabanı Proje Türü'nü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'te Synapse Veri Ambarı'nı seçin.

  6. İstendiğinde, SDK stilinde bir proje için Evet (önerilir) seçeneğini belirleyin. Fabric Veri Ambarı 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. Etkinlik Çubuğu'ndan Visual Studio Code'da SQL Server uzantısını seçin.
    2. Profil Adı girin. Parametreler'i seçin.
    3. Sunucu adını belirtin. Fabric portalında, ambarınızın Ayarları'ndaSQL Uç Noktası dizesini alın. (Bu, SQL analiz uç noktasından farklıdır.) gibi <server unique ID>.datawarehouse.fabric.microsoft.comgörünüyor. Bu, Sunucu adıdır.
    4. Kimlik doğrulama türü içinMicrosoft Entra ID - MFA desteğiyle Evrensel'i kullanın. Microsoft Entra Kimliğiniz ile kimlik doğrulaması 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 Veritabanı 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'un 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.

    Proje dosyalarını ayıklama ilerleme bildirimini gösteren Visual Studio Code'un ekran görüntüsü.

  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.

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

  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

Doku Veri Ambarı ekibi sık sık NuGet paketlerinin yeni sürümlerini yayınlar. 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.

Burada yapılan değişiklikler yalnızca veritabanı projesinde yapılır ve siz projenizi derleyipyayımlayana kadar Microsoft Fabric'e yansıtılamaz.

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'un 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ı

Şu anda Veritabanı Projeleri uzantısındaki Derleme işleminin başarılı olması için Visual Studio Code varsayılan terminalinizin PowerShell olması gerekir. Komut Paleti'ndeTerminal: Varsayılan Profil'i ve ardından PowerShell'i seçin.

Fabric Veri Ambarı'na yayımla

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. Tamamladığınızda, Visual Studio Code bildiriminde, az önce kullandığınız yayımlama seçeneklerini bir yayımlama profili dosyasına kaydedebilirsiniz.
    • 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.

    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 Veri Ambarı'na 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.
  • Pre-Deployment Scripts

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

  • Post-Deployment Scripts

    • 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/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.