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 |
- In Visual Studio 2022 Preview 2 i progetti in stile SDK usano l'estensione
.sqlprojx
anziché.sqlproj
. - L'istanza di sviluppo locale è un'istanza Local DB di SQL Server.
- L'istanza di sviluppo locale è un contenitore di SQL Server.
- 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:
- https://github.com/tcartwright/SqlServer.Rules
- https://github.com/davebally/TSQL-Smells
- https://github.com/GoEddie/DeploymentContributorFilterer
Contenuto correlato
- Sviluppo di database offline orientato ai progetti
- Estensione progetti di database SQL
- SqlPackage
- GitHub sql-action
- Distribuzioni SQL di Azure DevOps
- Applicazioni livello dati (DAC)
- Repository di commenti e suggerimenti di DacFx
- Introduzione ai progetti di database SQL
- Esercitazione: creare e implementare un progetto SQL