Modo di visualizzare in anteprima (retroview) query SQL di SQL Server Management Studio Express

StackOverflow https://stackoverflow.com/questions/232677

  •  04-07-2019
  •  | 
  •  

Domanda

Potresti dirmi, per favore, se è possibile visualizzare in anteprima (o almeno rivedere, ad esempio, in una specie di file di registro) comandi SQL che SQL Server Management Studio Express sta per eseguire (o ha appena eseguito) ?

In passato ho usato Embarcadero DBArtisan che mostra le query SQL da eseguire prima di eseguirle effettivamente sul server, quindi sono impaziente di questa funzionalità in Management Studio.

Ho trovato un'opzione " Auto generate change change script " ;, ma mostra solo query DDL SQL (modifica della struttura), non modifica dei dati.

È stato utile?

Soluzione

Per rispondere alla domanda di visualizzazione delle query sottostanti eseguite durante l'utilizzo di Management Studio, esistono due modi per farlo.

La maggior parte delle finestre di dialogo in Management Studio consente di generare uno script di modifica in file o appunti che può essere utile per raggiungere il picco, oltre ad applicare le modifiche tra server di sviluppo, gestione temporanea e produzione.

Una soluzione alternativa sarebbe quella di eseguire SQL Server Profiler e filtrare per

  • Nome applicazione per Management Studio
  • LoginName per il tuo account

Alcuni dei modelli di traccia T-SQL standard andrebbero bene o se si crea un modello di traccia personalizzato che include il campo TextData di T-SQL SQL: BatchCompleted e SQL: BatchStarting Events

Altri suggerimenti

È possibile utilizzare Query Profiler (da SQL) per visualizzare le query e nella query SQL incorporare in una transazione e alla fine eseguire un rollback.

BEGIN TRAN

 INSERT INTO Clients 
 SELECT 'Bruno', 'Alexandre';

END

ROLLBACK TRAN

quando esegui il rollback di una transazione, il processo tornerà all'inizio del TRAN INIZIO e puoi essere sicuro che non è stato fatto nulla, questo è il modo di eseguire il commit delle query e di eseguire il rollback sicuro se l'SQL rileva un errore ...

come:

IF @@ERROR > 0 GOTO Error

:Error
ROLLBACK TRANSACTION

Puoi usare

SET SHOWPLAN_TEXT ON

All'inizio del batch per farti riecheggiare il piano e il testo della query. La query non influirà su nessuna riga mentre SHOWPLAN_TEXT è attivo.

È quindi possibile impostare SHOWPLAN_TEXT su OFF per eseguire la query.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top