Sviluppare progetti di magazzino in Visual Studio Code

Si applica a:✅ Warehouse in Microsoft Fabric

Informazioni su come configurare un progetto di database per fabric Data Warehouse in Visual Studio Code. Crei un nuovo progetto, definisci gli oggetti schema, costruisci e convalidi il progetto e lo pubblichi nel tuo warehouse.

Importante

Questa funzionalità si trova in Anteprima.

Prerequisiti

Prima di iniziare, assicurarsi di:

  • Avere accesso a un elemento Warehouse esistente all'interno di un'area di lavoro Fabric con autorizzazioni di tipo Contributor o superiore.
  • Installare Visual Studio Code nella workstation.
  • Installare .NET SDK per compilare e pubblicare progetti di database.
  • Installare due estensioni Visual Studio Code: progetti di database SQL e SQL Server (mssql).
    • È possibile installare le estensioni necessarie direttamente da Visual Studio Code marketplace cercando "Progetti di database SQL" o "SQL Server (mssql)".

Creare un nuovo progetto di database

Puoi creare un progetto database da zero o da un magazzino esistente.

Opzione 1: Creare un nuovo progetto di database dal riquadro comandi in Visual Studio Code

  1. Aprire Visual Studio Code.

  2. Aprire il riquadro comandi (Ctrl+Shift+P o Cmd+Shift+P su Mac).

  3. Cercare Progetti di database: Nuovo.

  4. Selezionare Tipo di progetto del database come Database SQL Server.

  5. Scegliere un nome di progetto e selezionare il percorso della cartella locale.

  6. Scegliere Synapse Data Warehouse in Microsoft Fabric come piattaforma di destinazione.

  7. Quando richiesto, selezionare Sì (scelta consigliata) per un progetto in stile SDK.

    Importante

    Sono supportati solo i progetti in stile SDK per Fabric Data Warehouse.

  8. Selezionare Sì alla domanda Vuoi configurare la compilazione del progetto SQL come configurazione di compilazione predefinita per questa cartella?

  9. Selezionare Sì per considerare attendibili gli autori dei file in questa cartella.

Opzione 2: Creare un nuovo progetto di database dall'estensione Progetti di database

  1. In Visual Studio Code scegliere l'icona dell'estensione Database Projects dall'icona dell'estensione Activity Bar.

  2. Nel riquadro Progetti di database selezionare Crea nuovo.

    Screenshot di Visual Studio Code che mostra il riquadro dell'estensione Progetti di Database e il pulsante Crea nuovo progetto.

  3. Selezionare Tipo di progetto del database come Database SQL Server.

  4. Scegliere un nome di progetto e selezionare il percorso della cartella locale.

  5. Scegliere Synapse Data Warehouse in Microsoft Fabric come piattaforma di destinazione.

  6. Quando richiesto, selezionare Sì (scelta consigliata) per un progetto in stile SDK. Sono supportati solo i progetti in stile SDK per Fabric Data Warehouse.

  7. Selezionare Sì alla domanda Vuoi configurare la compilazione del progetto SQL come configurazione di compilazione predefinita per questa cartella?

  8. Selezionare Sì per considerare attendibili gli autori dei file in questa cartella.

Opzione 3: Creare un progetto di database da un warehouse esistente

  1. Creare prima di tutto un nuovo profilo di connessione per il magazzino in Visual Studio Code.

    1. Selezionare l'estensione SQL Server nella barra delle attività di Visual Studio Code.
    2. Inserisci un nome profilo. Scegliere Parametri.
    3. Inserisci il nome del server. Nel portale Fabric, in Impostazioni del magazzino, seleziona Endpoint SQL e copia la stringa fornita. Questo nome server è per il tuo warehouse ed è diverso dall'endpoint SQL analytics. Ha un aspetto analogo a <server unique ID>.datawarehouse.fabric.microsoft.com.
    4. Per Tipo di autenticazione, usare Microsoft Entra ID - Universale con supporto MFA. Eseguire l'autenticazione con il Microsoft Entra ID.
    5. Fornisci altre informazioni come predefinito o desiderato, e seleziona Connetti.
  2. In Visual Studio Code scegliere l'icona dell'estensione Database Projects dalla barra delle attività.

  3. Selezionare il pulsante ... opzioni nel riquadro Progetti di database e scegliere l'opzione Crea progetto da database .

    Screenshot da Visual Studio Code che mostra l'opzione Crea progetto da database.

  4. Scegliere il magazzino dai profili di connessione esistenti.

  5. Inserisci il nome di un progetto e scegli una cartella progetto sulla tua workstation.

  6. Per la struttura di cartelle selezionare Schema/Tipo di oggetto (scelta consigliata).

  7. Per Includi autorizzazioni nel progetto selezionare No (impostazione predefinita).

  8. Per il progetto in stile SDK selezionare Sì (scelta consigliata).

  9. Selezionare Sì alla domanda Vuoi configurare la compilazione del progetto SQL come configurazione di compilazione predefinita per questa cartella?

  10. Visual Studio Code estrae i file di progetto dal progetto warehouse.

    Screenshot da Visual Studio Code che mostra la notifica di avanzamento dell'estrazione dei file del progetto.

  11. Dopo l'estrazione con successo, si vede la seguente notifica: "Estrae file di progetto: Riuscito. Completato".

  12. Selezionare Sì per considerare attendibili gli autori dei file in questa cartella.

Nuovo progetto di database per il magazzino

Il nuovo progetto di database per il warehouse viene visualizzato nel menu Progetti di database SQL.

Screenshot da Visual Studio Code che mostra il nuovo progetto di database per AdventureWorksDW2022.

La struttura del progetto è simile alla seguente:

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

Configurare il progetto di database

  1. Fare clic con il pulsante destro del mouse sul progetto e scegliere Modifica file con estensione sqlproj.

    Screenshot da Visual Studio Code e dal menu contestuale di un progetto di database. L'opzione

  2. Verifica che il file contenga l'ultima versione di Microsoft. Build.SQL SDK. Ad esempio, cambia la versione di Microsoft.Build.Sql in 2.2.0 nel .sqlproj file.

       <Sdk Name="Microsoft.Build.Sql" Version="2.2.0" />
    
  3. Verificare la versione più recente di Microsoft.SqlServer.Dacpacs.FabricDw e aggiungere un riferimento all'interno del Project/ItemGroup nodo XML. Per esempio:

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

    Questo è l'aspetto del progetto di database per un warehouse dopo gli aggiornamenti.

     <?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. Salvare il .sqlproj file. Al prompt per ricaricare il progetto di database selezionare Sì.

Importante

Il team di fabric Data Warehouse rilascia spesso nuove versioni dei pacchetti NuGet. Poiché i valori di versione predefiniti nel .sqlproj file possono cambiare nel tempo, aggiornali nel progetto locale per rimanere allineati alle ultime versioni disponibili da NuGet per Microsoft. SqlServer.Dacpacs.FabricDw.

Aggiungere o aggiornare oggetti di database

È possibile definire o modificare oggetti di database, ad esempio tabelle, viste, stored procedure e funzioni all'interno del progetto warehouse.

Nella cartella di uno schema, ad esempio dbo, aggiungere o eliminare o apportare modifiche alle definizioni T-SQL degli oggetti nel warehouse. Per modificare un oggetto esistente, aprire il file corrispondente .sql e aggiornare la definizione in base alle esigenze.

Quando si compila il progetto, tutti gli oggetti nuovi e aggiornati vengono convalidati e inclusi nel file dacpac generato nel {project folder location}/bin/debug/{project name}.dacpac file.

Le modifiche apportate riguardano solo il progetto di database e non vengono riflesse in Microsoft Fabric fino a quando non si compila e non si pubblica il progetto.

Compilare e convalidare il progetto

  1. Apri il progetto database se non è già aperto.

  2. Clicca con il tasto destro sul progetto e seleziona Build per costruire il progetto database.

    Screenshot da Visual Studio Code che mostra l'opzione Compilare il progetto di database.

  3. La build dovrebbe venire completata correttamente. Correggi eventuali errori basati sui messaggi forniti nell'output dell'evento di compilazione.

Annotazioni

Attualmente, il tuo terminale predefinito di Visual Studio Code deve essere PowerShell affinché il processo di compilazione nell'estensione Progetti Database abbia successo. Nella Tavolozza Comandi, scegli Terminal: Seleziona Profilo Predefinito, poi seleziona PowerShell.

Pubblicare nel Fabric Data Warehouse

Dopo aver compilato il progetto, pubblicarlo nel magazzino di destinazione. La pubblicazione crea uno script per risolvere la differenza tra il progetto di database e il warehouse effettivo ed esegue uno script per fare in modo che il warehouse corrisponda al progetto. Puoi distribuire il modello compilato dello schema del warehouse in un file .dacpac su un warehouse target.

  1. Fare clic con il pulsante destro del mouse sul progetto e scegliere Pubblica.

  2. Scegliere Pubblica in un server SQL esistente.

  3. Per Selezionare il profilo di pubblicazione da caricare, la prima volta che si pubblica scegliere Non usare il profilo.

    • Salva le opzioni per pubblicare il tuo warehouse in un profilo di pubblicazione. Una notifica di Visual Studio Code ti dà l'opzione di salvare le opzioni di pubblicazione usate in un file profilo di pubblicazione.
    • Riutilizza il profilo di pubblicazione in futuro quando pubblichi il tuo progetto nel tuo warehouse. È possibile avere opzioni di profilo diverse per i diversi warehouse o per ambienti diversi negli ambienti di sviluppo/test/accettazione/produzione.
  4. Scegliere il profilo di connessione Fabric Data Warehouse dall'elenco.

  5. Scegliere il nome del magazzino di destinazione.

  6. Nell'opzione Scegli azione è possibile generare script per esaminare lo script prima della pubblicazione o pubblicare un progetto in un warehouse. - La prima volta che vuoi distribuire modifiche, generare attentamente uno script e rivedere il T-SQL risultante da applicare al warehouse di destinazione. Generare lo script non apporta modifiche al warehouse target.

    • Se scegli Pubblica, il processo scrive le modifiche nel tuo data warehouse di destinazione.

    Screenshot da Visual Studio Code che mostra la notifica di Deploy dacpac: In progress.

  7. Nella notifica Salvare le impostazioni in un profilo (.publish.xml)?, scegliere Sì e salvare le scelte del profilo di pubblicazione per la successiva pubblicazione.

Impostazioni di distribuzione importanti per i progetti warehouse

Quando distribuisci progetti di database su Fabric Data Warehouse, diverse impostazioni controllano i cambiamenti dello schema e possono influire sulla sicurezza dei dati. Usare con cautela.

  • BlockOnPossibleDataLoss

    • Che cosa fa: Impedisce la distribuzione se si verifica un rischio di perdita di dati, ad esempio l'eliminazione di una colonna o di una tabella che contiene dati.
    • Raccomandazione: Impostare sempre su True nell'ambiente di produzione per proteggere i dati critici.
    • Cautela: Impostandolo su False permette la distribuzione anche se i dati possono andare persi. Usare solo in ambienti controllati ,ad esempio sviluppo/test.
  • DropObjectsNotInSource

    • Che cosa fa: Elimina gli oggetti nel database di destinazione che non sono presenti nell'origine del progetto.
    • Raccomandazione: Usare negli ambienti di sviluppo/test per pulire gli oggetti rimasti.
    • Cautela: L'uso nell'ambiente DropObjectsNotInSource di produzione può eliminare oggetti e dati importanti. Prima di abilitare, verificare due volte.
  • PreDeploy per lo script di pre-distribuzione

    • Effetto
      • Esegue script SQL personalizzati prima della distribuzione dello schema.
    • Usi comuni
      • Archiviare o eseguire il backup dei dati prima di eliminare le tabelle
      • Disabilitare temporaneamente vincoli o trigger
      • Eliminare gli oggetti obsoleti
    • Attenzione
      • Assicurati che gli script siano idempotenti e non introducano modifiche allo schema in conflitto con la distribuzione.

Tip

Quando un processo di distribuzione o una query è idempotente, puoi eseguire il comando più volte senza causare problemi logici o fallimenti. Un comando idempotente è anche scritto in modo da poter essere distribuito su più database senza dover predeterminare il loro stato.

  • PostDeploy per lo script di post-distribuzione

    • Che cosa fa: Esegue script SQL personalizzati dopo la distribuzione dello schema.
    • Usi comuni:
      • Consultazione di seme o dati di riferimento
      • Riabilitare vincoli o trigger
      • Cronologia di distribuzione dei log
    • Attenzione: Evitare operazioni pesanti su tavoli grandi durante la produzione. Assicurati che gli script possano essere eseguiti in sicurezza più volte se necessario.

Importante

Esaminare sempre gli script e le impostazioni di distribuzione prima della pubblicazione. Eseguire prima il test negli ambienti di sviluppo o test per evitare perdite di dati impreviste. Per altre informazioni ed esempi, vedi Script di pre-distribuzione e post-distribuzione per Fabric Data Warehouse.

Verificare la pubblicazione

Connettiti al tuo magazzino e scripta gli oggetti che sono cambiati, oppure verifica eseguendo oggetti di catalogo di sistema.