Procedura: Compilazione e distribuzione in un database locale
In SQL Server è disponibile un'istanza del server su richiesta locale, denominata Runtime del database locale di SQL Server Express (LocalDB), che viene attivata quando si esegue il debug di un progetto di database di SQL Server. Questa istanza del server locale può essere utilizzata come sandbox per la compilazione, il test e il debug del progetto.
È indipendente da tutte le istanze di SQL Server installate e non è accessibile al di fuori di SQL Server Data Tools (SSDT). Tale soluzione è ideale per gli sviluppatori con accesso limitato ai database di produzione, o a cui non possono accedere affatto, ma che desiderano eseguire il test dei progetti in locale prima che vengano distribuiti nella produzione da persone autorizzate. Inoltre, quando si sviluppa una soluzione database per Azure SQL, è possibile avvalersi dei vantaggi forniti da questo server locale per sviluppare ed eseguire il test del progetto di database in locale, prima di distribuirlo nel cloud.
Limiti
Un database nel nodo del database locale in Esplora oggetti di SQL Server rispecchia il progetto di database corrispondente e non è correlato al database avente lo stesso nome in un'istanza del server connessa.
Avviso
Nelle procedure seguenti vengono usate entità create nelle procedure precedenti nelle sezioni Sviluppo del database connesso e Sviluppo di database offline orientato ai progetti.
Uso del database locale
Nel nodo SQL Server in Esplora oggetti di SQL Server viene visualizzato un nuovo nodo denominato Locale. Si tratta dell'istanza del database locale.
Espandere i nodi Locale e Database. Si noti l'aspetto di un database con lo stesso nome del progetto TradeDev. Espandere i nodi in questo database. Nella finestra Operazioni degli strumenti dati viene visualizzato lo stato delle operazioni di espansione/importazione in corso su qualsiasi database nel nodo Locale. Non contengono alcuna tabella o entità create nelle procedure precedenti.
Premere F5 per eseguire il debug del progetto di database TradeDev.
Per impostazione predefinita, in SSDT utilizzerà l'istanza del server di database locale per l'esecuzione del debug di progetti di database. In questo caso, in SSDT si tenterà innanzitutto di compilare il progetto che, se non presenta errori, verrà distribuito insieme alle relative entità nel database locale. Se si esegue il debug dello stesso progetto in un secondo momento, tramite SSDT vengono rilevate tutte le modifiche dall'ultima sessione di debug e solo queste verranno distribuite nel database locale.
Espandere di nuovo i nodi in
TradeDev
nel server di database Locale. Questa volta, si noti che le tabelle, le viste e le funzioni sono state distribuite nel server di database locale.Fare clic con il pulsante destro del mouse sul nodo
TradeDev
e selezionare Nuova query.Nel riquadro di script incollare questo codice e selezionare il pulsante Esegui query per eseguire la query.
SELECT * FROM dbo.GetProductsBySupplier(1);
Nel riquadro Messaggio viene mostrato
(0 row(s) affected)
, mentre nel riquadro dei risultati non viene restituita alcuna riga. Questa situazione si verifica perché si esegue una query sul database locale anziché sul database connesso in cui sono contenuti effettivamente i dati real.È possibile confermare questa condizione facendo clic sul pulsante destro del mouse sulla tabella
Products
in questo databaseTradeDev
locale e selezionando Visualizza dati. La tabella è vuota.
Replica dei dati real nel database locale
In Esplora oggetti di SQL Server espandere l'istanza di SQL Server connessa e individuare il database
TradeDev
.Fare clic con il pulsante destro del mouse sulla tabella
Suppliers
e selezionare Visualizza dati.Fare clic sul pulsante Script (il secondo da destra) nella parte superiore dell'editor dei dati. Copiare le istruzioni
INSERT
dallo script.Espandere l'istanza del server Locale, fare clic con il pulsante destro del mouse sul nodo
TradeDev
e selezionare Nuova query.Incollare le istruzioni
INSERT
in questa finestra Query ed eseguire la query.Ripetere i passaggi elencati in precedenza per replicare i dati dalle tabelle
Products
eFruits
Fruits del databaseTradeDev
connesso nel databaseTradeDev
locale.Fare clic con il pulsante destro del mouse sull'istanza del server Locale e selezionare Aggiorna. Esaminare le tabelle usando Visualizza dati per verificare che il database locale sia stato popolato.
Fare clic con il pulsante destro del mouse sul nodo
TradeDev
dell'istanza del server Locale e selezionare Nuova query.Nel riquadro di script incollare questo codice e selezionare il pulsante Esegui query per eseguire la query.
SELECT * FROM dbo.GetProductsBySupplier(1);
Nel riquadro dei risultati sotto il riquadro Editor Transact SQL si noterà che sono state restituite le righe
Apples
ePotato Chips
della tabellaProducts
.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per