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 comanda SqlPackage, SQL Server Data Tools (SSDT) in Visual Studio e 'estensione SQL Database Projects per Azure Data Studio e Visual Studio Code.

Strumenti grafici

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

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.

L’estensione progetti di database SQL è un’estensione per Azure Data Studio (ADS) e VS Code. Questa estensione fornisce un'interfaccia grafica per i progetti SQL, un editor T-SQL e un processo di compilazione e pubblicazione.

Confronto delle funzionalità

Funzionalità SSDT di stile SDK SSDT ADS VS Code
Creare un progetto vuoto X X X X
Creare il nuovo progetto dal database esistente X X X
Aprire progetti Microsoft.Build.Sql esistenti X1 X X
Gestione e funzionamento delle soluzioni X X
Build di esecuzione dei progetti X X X X
Pubblicare il progetto su un server esistente X X X X
Pubblicare un progetto in un'istanza di sviluppo locale X2 X2 X3 X3
Opzioni/proprietà di pubblicazione X X X
La piattaforma di destinazione può essere aggiornata X X X X
Variabili SQLCMD X X X X
Riferimenti al progetto X X
Riferimenti dacpac X X X
Riferimenti ai pacchetti X
Creazione del profilo di pubblicazione X X X
I file SQL possono essere aggiunti inserendoli nella cartella del progetto X X X
I file SQL possono essere esclusi dalla build X X
Script pre-distribuzione e post-distribuzione X X X X
Nuovi modelli di oggetti X4 X X4 X4
I file di progetto possono essere organizzati in cartelle X X X X
Progetto di confronto schemi al database X X
Database di confronto schemi al progetto X X
Progettazione tabelle grafiche X X
Code Analysis: abilitare/disabilitare le regole X
Proprietà del progetto: impostazioni di output della build X X
Proprietà del progetto: schema predefinito X
Proprietà del progetto: impostazioni del database X
Code Analysis autonoma dell’esecuzione dei progetti X
Ridenominazione e refactoring degli oggetti X
IntelliSense fornito nei file di database dal modello di progetto X
Connettività/oggetti di visualizzazione di Esplora oggetti di SQL Server X X X X
Voci di menu contestuali di Esplora oggetti di SQL Server X X X
Connettività dell'editor di query di SQL Server X X X
  1. In Visual Studio 2022 Preview 2 i progetti in stile SDK usano l'estensione .sqlprojx anziché .sqlproj.
  2. L'istanza di sviluppo locale è un'istanza Local DB di SQL Server.
  3. L'istanza di sviluppo locale è un contenitore di SQL Server.
  4. 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 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 progetti usando punti di estensione per i progetti SQL, incluse le regole Code Analysis del codice e la personalizzazione dei piani di distribuzione. Ecco alcuni di questi progetti: