Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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à SqlPackage, SQL Server Data Tools (SSDT) in Visual Studio e l'estensione SQL Database Projects per Visual Studio Code.
Strumenti inclusi in questo articolo:
Strumenti grafici
Questi strumenti forniscono un'interfaccia grafica per i progetti SQL, un editor di Transact-SQL (T-SQL) e un processo di compilazione e pubblicazione.
L'estensione SQL Database Projects è un'estensione per Visual Studio Code. Questa estensione fornisce un'interfaccia grafica per i progetti SQL, un editor T-SQL e un processo di compilazione e pubblicazione.
Database DevOps in SQL Server Management Studio (SSMS) fornisce un'interfaccia grafica per progetti SQL, un editor T-SQL e un processo di compilazione e pubblicazione.
SQL Server Data Tools (SSDT) è un componente 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à | Visual Studio Code | SSMS | SSDT (VS2022-2026) | SSDT di tipo SDK (anteprima) (VS2022) |
|---|---|---|---|---|
| Creare un progetto vuoto | Yes | Yes | Yes | Yes |
| Creare il nuovo progetto dal database esistente | Yes | Yes | Yes | Yes |
| Apri i progetti Microsoft.Build.Sql esistenti | Yes | Yes | NO | Yes |
| Aprire progetti in stile originale (SSDT) | Yes | NO | Yes | NO |
| Gestione e funzionamento delle soluzioni | NO | Yes | Yes | Yes |
| Project eseguire la compilazione | Yes | Yes | Yes | Yes |
| Pubblicare il progetto su un server esistente | Yes | Yes | Yes | Yes |
| Pubblicare un progetto in un'istanza di sviluppo locale | Sì1 | Sì2 | Sì3 | Sì3 |
| Opzioni/proprietà di pubblicazione | Yes | Yes | Yes | Yes |
| La piattaforma di destinazione può essere aggiornata | Yes | Yes | Yes | Yes |
| Variabili SQLCMD | Yes | Yes | Yes | Yes |
| Riferimenti al progetto | Yes | Yes | Yes | Yes |
| Riferimenti DACPAC | Yes | Yes | Yes | Yes |
| Riferimenti ai pacchetti | Yes | Yes | NO | NO |
| Creazione del profilo di pubblicazione | Yes | NO | Yes | Yes |
| I file SQL possono essere aggiunti inserendoli nella cartella del progetto | Yes | Yes | NO | Yes |
| I file SQL possono essere esclusi dalla build | Yes | Yes | Yes | NO |
| Script di pre-distribuzione e post-distribuzione | Yes | Yes | Yes | Yes |
| Nuovi modelli di oggetti | Sì4 | Yes | Yes | Sì4 |
| Project file possono essere organizzati in cartelle | Yes | Yes | Yes | Yes |
| Progetto di confronto degli schemi con il database | Yes | NO | Yes | Yes |
| Database di confronto dello schema nel progetto | Yes | NO | Yes | NO |
| Progettazione tabelle grafiche | NO | NO | Yes | Yes |
| Analisi del codice : interfaccia utente grafica delle regole di abilitazione/disabilitazione | Yes | Yes | Yes | NO |
| Proprietà del progetto - Impostazioni di output della compilazione | NO | NO | Yes | Yes |
| Proprietà del progetto - GUI delle impostazioni del database | NO | NO | Yes | NO |
| Project eseguire l'analisi code | Yes | Yes | Yes | NO |
| Ridenominazione e refactoring degli oggetti | NO | NO | Yes | NO |
| IntelliSense presente nei file di database basato sul modello di progetto | NO | NO | Yes | NO |
1 l'istanza di sviluppo locale è un contenitore SQL Server.
2 Qualsiasi Microsoft database SQL preinstallato può essere usato come istanza di sviluppo locale.
3 L'istanza di sviluppo locale è un'istanza SQL Server LocalDB.
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 compilate usando la libreria dacFx .NET per automatizzare le attività di sviluppo del database. Microsoft.SqlServer.Dac namespace contiene classi per la creazione, l'implementazione e l'estrazione di oggetti di database ed è fondamentale per il resto del DacFx library.
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. Il GitHub sql-action e SqlAzureDacpacDeployment in Azure DevOps sono esempi di attività 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 soluzioni/progetti
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 utilizzato per creare un file di soluzione per un set di progetti programmaticamente e su richiesta.
Cartina stradale
Una roadmap trimestrale per le funzionalità correlate ai progetti SQL è disponibile all'indirizzo https://aka.ms/sqlprojects-roadmap. Il feedback dei clienti influisce notevolmente sulla roadmap, che incorpora sia la modernizzazione delle capacità dei progetti di Microsoft.Build.Sql, sia i miglioramenti agli strumenti associati ai progetti SQL.
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, ad esempio 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:
- https://github.com/tcartwright/SqlServer.Rules
- https://github.com/davebally/TSQL-Smells
- https://github.com/ErikEJ/SqlServer.Rules
- https://github.com/GoEddie/DeploymentContributorFilterer
Contenuto correlato
- Sviluppo di Database Offline Orientato al Progetto
- Estensione progetti di database SQL
- SqlPackage
- GitHub sql-action
- Azure DevOps implementazioni SQL
- Applicazioni livello dati (DAC)
- Repository di commenti e suggerimenti di DacFx
- Introduzione ai progetti di database SQL
- Esercitazione: creare e implementare un progetto SQL