Condividi tramite


Strumenti di progetti SQL

Gli strumenti per i progetti SQL sono disponibili in diversi ambienti di sviluppo e interfacce della riga di comando. Gli strumenti principali per i progetti SQL sono l'utilità della riga di comando SqlPackage , SQL Server Data Tools (SSDT) in Visual Studio e l'estensione Progetti di database SQL per Visual Studio Code.

Strumenti inclusi in questo articolo:

Strumenti grafici

Questa strumenti forniscono un'interfaccia grafica per i progetti SQL, un editor T-SQL e un processo di compilazione e pubblicazione.

L'estensione Progetti di database SQL è un'estensione per VS Code. Questa estensione fornisce un'interfaccia grafica per i progetti SQL, un editor T-SQL e un processo di compilazione e pubblicazione. L'estensione è disponibile anche in Azure Data Studio con le stesse funzionalità.

SQL Server Data Tools (SSDT) è un componente di Visual Studio che fornisce un'interfaccia grafica per i progetti SQL. SSDT offre una finestra di progettazione visiva per tabelle, un editor T-SQL e un processo di compilazione e pubblicazione.

Confronto delle funzionalità

Funzionalità VS Code SSDT (VS2022-2026) SSDT in stile SDK, anteprima (VS2022)
Creare un progetto vuoto Yes Yes Yes
Creare il nuovo progetto dal database esistente Yes Yes Yes
Aprire progetti Microsoft.Build.Sql esistenti Yes NO Yes
Gestione e funzionamento delle soluzioni NO Yes Yes
Esecuzione build del progetto Yes Yes Yes
Pubblicare il progetto su un server esistente Yes Yes Yes
Pubblicare un progetto in un'istanza di sviluppo locale 1 2 2
Opzioni/proprietà di pubblicazione Yes Yes Yes
La piattaforma di destinazione può essere aggiornata Yes Yes Yes
Variabili SQLCMD Yes Yes Yes
Riferimenti al progetto Yes Yes Yes
Riferimenti dacpac Yes Yes Yes
Riferimenti ai pacchetti Yes NO NO
Creazione del profilo di pubblicazione Yes Yes Yes
I file SQL possono essere aggiunti inserendoli nella cartella del progetto Yes NO Yes
I file SQL possono essere esclusi dalla build Yes Yes NO
Script pre-implementazione e post-implementazione Yes Yes Yes
Nuovi modelli di oggetti 3 Yes 3
I file di progetto possono essere organizzati in cartelle Yes Yes Yes
Progetto di confronto degli schemi con il database Yes Yes Yes
Database di confronto dello schema nel progetto Yes Yes NO
Progettazione tabelle grafiche NO Yes Yes
Analisi del codice : interfaccia utente grafica delle regole di abilitazione/disabilitazione NO Yes NO
Proprietà del progetto: impostazioni di output della build NO Yes Yes
Proprietà del progetto - GUI delle impostazioni del database NO Yes NO
Analisi del codice di esecuzione del progetto Yes Yes NO
Ridenominazione e refactoring degli oggetti NO Yes NO
IntelliSense presente nei file di database basato sul modello di progetto NO Yes NO
  1. L'istanza di sviluppo locale è un contenitore di SQL Server.
  2. L'istanza di sviluppo locale è un'istanza Local DB di SQL Server.
  3. Sottoinsieme limitato di modelli disponibili

Strumenti da riga di comando

SqlPackage è l'utilità della riga di comando principale per la libreria DacFx, che consente l'automazione delle attività di sviluppo del database, ad esempio la distribuzione di .dacpac in un database o l'estrazione degli oggetti di un database in un progetto SQL o .dacpac.

Le applicazioni console personalizzate possono essere create usando la libreria .NET DacFx per automatizzare le attività di sviluppo del database. Lo spazio dei nomi Microsoft.SqlServer.Dac contiene classi per la creazione, la distribuzione e l'estrazione di oggetti database ed è fondamentale per il resto del catalogo DacFx.

Le pipeline CI/CD possono essere create con l'esecuzione della riga di comando o con task specifiche per .dacpac e la distribuzione di progetti SQL. GitHub sql-action e SqlAzureDacpacDeployment in Azure DevOps sono esempi di task che usano SqlPackage sotto un livello di gestione per facilitare la distribuzione delle modifiche del database.

Strumenti di conversione

Il processo di conversione di un progetto SQL esistente in un progetto in stile SDK viene eseguito modificando manualmente il .sqlproj file in modo da includere il nuovo formato di progetto in stile SDK. Prima di iniziare il processo, è consigliabile eseguire il backup del file di progetto e archiviare un .dacpac oggetto del progetto. Confrontando un "prima" e "dopo" .dacpac compilato dal progetto, è possibile assicurarsi che il processo di conversione sia stato completato correttamente.

Gestione di progetti/soluzioni

Più progetti SQL (e altri progetti) possono essere raggruppati logicamente in un file di soluzione. Il file di soluzione è un contenitore per uno o più progetti e viene usato per gestire i progetti come gruppo, inclusa l'azione di compilazione. Le soluzioni di grandi dimensioni possono essere suddivise in soluzioni più piccole per migliorare le prestazioni e la gestibilità o generate dinamicamente per l'attività appropriata. Il generatore di file di soluzione slngen è disponibile per i progetti Microsoft.Build.Sql e può essere usato per creare un file di soluzione per un set di progetti a livello di codice e su richiesta.

Strumenti di terzi

Sono disponibili strumenti di terzi che forniscono funzionalità correlate ai progetti SQL e alla distribuzione di database. Alcuni strumenti sono open source, come dbatools.

Gli sviluppatori hanno condiviso i loro progetti utilizzando punti di estensibilità per i progetti SQL, incluse le regole di analisi del codice e la personalizzazione dei piani di distribuzione. Ecco alcuni di questi progetti: