Esportare SQL Stored Procedure in un file e generare il suo script

In articoli precedenti, abbiamo esaminato un algoritmo generale di trovare ed eliminare le transazioni aperte incomplete nei database SQL Server, creato una tabella per il fissaggio transazioni incomplete e una procedura CRUD-stored, e implementato numerose impostazioni che renderanno il nostro flusso di lavoro documento produttivo e pratico.

Esportiamo e testiamo una stored procedure, generiamo il suo codice e lo trasformiamo in uno script: verrà eseguito su qualsiasi host o gruppo di host specificando i parametri di immissione appropriati.

Esporta Stored Procedure in SQL Server

Può anche essere molto utile generare uno script per creare gli oggetti di database necessari, ad esempio generare uno script per esportare una stored procedure in un file o copiare la stored procedure in altre soluzioni. Per fare ciò, segui i seguenti passaggi:

  • In Esplora oggetti, fare clic con il pulsante destro del mouse sul database
  • Selezionare Attività dal menu contestuale visualizzato
  • Selezionare il comando Genera script
Selezione del comando Genera script
Fig. 1 Selezione del comando Genera script
  • Selezionare gli oggetti da script
Selezione degli oggetti da scrivere
Fig. 2 Selezione degli oggetti da scrivere
  • Nella finestra Imposta opzioni di script, selezionare Script su file
Selezione dello script su file
Fig 3. Selezione dello script su file
  • Eseguire lo script generato nel database di destinazione.

Quando vengono eseguiti tutti questi passaggi, verrà generato uno script della stored procedure esportata.

Test di una stored procedure

Torniamo a una stored procedure che abbiamo creato nella parte 2. Se trasciniamo il cursore su una stored procedure, apparirà un menu a discesa:

Il menu a discesa stored procedure
Fig 4. Il menu a discesa stored procedure

Per funzionare correttamente, la stored procedure deve avere una descrizione. Se non è stato ancora aggiunto, eseguire il seguente script:

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identification of frozen transactions (forgotten ones that do not have active requests) with their subsequent removal' , @level0type=N'SCHEMA',@level0name=N'srv', @level1type=N'PROCEDURE',@level1name=N'AutoKillSessionTranBegin'
GO

Oppure scegli le proprietà estese dell’oggetto:

Aggiunta della descrizione della stored procedure
Fig.5 Aggiunta della descrizione della stored procedure

È inoltre possibile aggiungere una descrizione utilizzando questo metodo.

Generazione del codice della stored procedure

È possibile chiamarlo con un clic destro sul menu a discesa di una stored procedure, quindi selezionare “Script Object as CREATE / ALTER”:

Selezione del
Fig.6 Selezionare “Script Object as CREATE/ALTER” nel menu contestuale

Una volta fatto ciò, apparirà uno script per la modifica dell’oggetto – nel nostro caso, sarà la modifica della stored procedure. Se non c’è oggetto, ci sarebbe uno script per crearlo. Questo script può essere facilmente spostato in istanze MS SQL Server appropriate.

Trasformando il codice stored procedure in uno script

È possibile selezionare “Converti EXEC in script” in un menu a discesa:

Selezione del
Fig.7 Selezionare il comando” Converti EXEC in Script ” nel menu principale SQL Complete

Invece di chiamare una stored procedure, verrà creato uno script, i parametri di immissione diventeranno variabili e il contenuto della stored procedure diventerà uno script. È una funzione utile quando si verifica il codice:

Il risultato della creazione di uno script da una stored procedure
Fig.8 Il risultato della creazione di uno script da una stored procedure

Ora è possibile eseguire lo script derivato su qualsiasi host o un gruppo di host impostando i valori corretti dei parametri di immissione.

Cronologia creazione query

Esaminiamo ora un’altra importante funzionalità: SQL Complete: Cronologia di esecuzione che visualizza le query precedenti. Per fare ciò, fare clic sul pulsante SQL Complete: Execution History:

Scegliere il
Fig.9 Scegliendo il comando “Cronologia esecuzione” nel menu principale SQL Complete

Verrà visualizzata la seguente finestra:

La visualizzazione degli script eseguiti
Fig.10 La visualizzazione degli script eseguiti

L’angolo in alto a sinistra della finestra contiene filtri per parole e intervallo di tempo, mentre l’angolo destro mostra il numero di query trovate in base ai dati inseriti nel filtro. Il lato inferiore della finestra mostra la query selezionata dalla tabella.

La tabella è composta dalle seguenti colonne:

  1. Stato: indica se una query è stata completata con successo (bianco segno di spunta in un cerchio verde) o non (croce bianca in un cerchio rosso)
  2. QueryText – mostra testo della query
  3. Size (Bytes) – mostra la dimensione misurata in byte
  4. Esecuzione On – mostra la data e l’ora dell’esecuzione della query
  5. Durata – mostra il tempo ha preso una query da eseguire
  6. File – mostra il nome del file e un percorso completo,
  7. Server – mostra il nome del server
  8. Utente mostra un utente che ha eseguito uno script
  9. Database – mostra un database in cui è stato eseguito uno script

La ricerca delle colonne “QueryText” e “Execution On” viene eseguita nei filtri “Search” e “From/To”.

È anche possibile ordinare le colonne di dati in ordine crescente o decrescente facendo clic su un’intestazione di una colonna corretta. Per impostazione predefinita, l’ordinamento delle colonne” Esecuzione su ” è abilitato in ordine decrescente.

È possibile ordinare più colonne contemporaneamente tenendo premuto un pulsante SHIFT. È inoltre possibile impostare filtri più complessi facendo clic sul segno del filtro:

Impostazione del filtro delle colonne
Fig.11 Impostazione del filtro delle colonne

Inseriamo ora il nome della stored procedure “AutoKillSessionTranBegin” nel filtro” Cerca”:

 Stored procedure di ricerca nel
Fig.12 Ricerca stored procedure nella scheda” Cronologia esecuzione ”

Di conseguenza, otteniamo una cronologia completa della creazione di srv.AutoKillSessionTranBegin procedura che è stata descritta prima.

Se si fa clic con il pulsante destro del mouse su una riga della tabella corretta, è possibile aprire uno script in una nuova finestra o copiarlo negli appunti per incollarlo ovunque sia necessario:

Copia dello script selezionato da
Fig.13 Copia dello script selezionato dalla scheda” Cronologia esecuzione ”

È possibile aprire uno script in una nuova finestra facendo doppio clic sullo script desiderato in una riga della tabella.

È inoltre possibile specificare per quanto tempo viene memorizzata la cronologia di esecuzione, la dimensione massima della query e il percorso di archiviazione della cronologia:

Il
Fig.14. Le impostazioni del comando “Cronologia esecuzione” in SQL Complete

Puoi leggere maggiori dettagli sulla funzionalità Cronologia esecuzione qui.

Questo è tutto, gente. La nuova funzionalità è stata sviluppata, testata e spostata su istanze MS SQL Server appropriate.

  • Autore
  • Post Recenti
Evgeniy Gribkov

Evgeniy Gribkov

Evgeniy è un database MS SQL Server analista, sviluppatore e amministratore. È coinvolto nello sviluppo e nella sperimentazione degli strumenti di gestione del database SQL Server. Evgeniy scrive anche articoli relativi a SQL Server.

Evgeniy Gribkov

Ultimi messaggi di Evgeniy Gribkov (vedi tutti)

  • la Creazione di Stored Procedure per l’Eliminazione di Tabelle Temporanee Locali in SQL Server – giugno 16, 2021
  • Link Dedicato Source Repository di Controllo – 6 Maggio 2021
  • Versione Database di Controllo Utilizzando il Controllo del codice Sorgente per SQL Server – Maggio 5, 2021

sql completo, sql server, le transazioni di sql server, stored procedure sql

Leave a Reply

Il tuo indirizzo email non sarà pubblicato.