Export SQL uložené procedury do souboru a generovat jeho skript

v předchozích článcích jsme přezkoumali obecný algoritmus hledání a mazání neúplných otevřených transakcí v databázích SQL Server, vytvořili tabulku pro opravu neúplných transakcí a proceduru uloženou CRUD a implementovali řadu nastavení, díky nimž bude náš pracovní postup dokumentů produktivní a praktický.

pojďme nyní exportovat a otestovat uloženou proceduru, vygenerovat její kód a přeměnit ji na skript – bude spuštěn na libovolném hostiteli nebo skupině hostitelů zadáním správných vstupních parametrů.

Export uložené procedury v SQL Serveru

může být také docela užitečné vygenerovat skript pro vytvoření potřebných databázových objektů, například vygenerovat skript pro export uložené procedury do souboru nebo zkopírovat uloženou proceduru do jiných řešení. Postupujte podle následujících kroků:

  • v Průzkumníku objektů klepněte pravým tlačítkem myši na databázi
  • vyberte úkoly z kontextové nabídky, která se zobrazí
  • vyberte příkaz generovat skripty
výběr příkazu generovat skripty
Obr. 1 výběr příkazu generovat skripty
  • Vyberte objekty ke skriptu
Výběr objektů, které chcete skriptovat
Obr. 2 Výběr objektů, které chcete skriptovat
  • v okně nastavit možnosti skriptování vyberte skript do souboru
volba skriptu do souboru
obr 3. Výběr skriptu do souboru
  • spusťte vygenerovaný skript proti cílové databázi.

po provedení všech těchto kroků získáme vygenerovaný skript exportované uložené procedury.

testování uložené procedury

vraťme se k uložené proceduře, kterou jsme vytvořili v části 2. Pokud přetáhneme kurzor na uloženou proceduru, objeví se rozbalovací nabídka:

rozbalovací nabídka uložená procedura
obr. 4. Rozbalovací nabídka uložená procedura

Chcete-li správně fungovat, měla by mít uložená procedura popis. Pokud ještě nebyl přidán, spusťte prosím následující skript:

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

nebo přejděte na rozšířené vlastnosti objektu:

přidání popisu uložené procedury
Obr.5 přidání popisu uložené procedury

pomocí této metody můžete také přidat popis.

generování kódu uložené procedury

můžete jej zavolat kliknutím pravým tlačítkem myši na rozbalovací nabídku uložené procedury a poté vybrat „Script Object as CREATE / ALTER“:

volba
Obr.6 výběr „Script Object as CREATE/ALTER“ v kontextové nabídce

jakmile to uděláte, objeví se skript pro změnu objektu – v našem případě to bude uložená změna procedury. Pokud neexistuje žádný objekt, existuje skript pro jeho vytvoření. Tento skript lze snadno přesunout do správných instancí MS SQL Server.

otočení uloženého kódu procedury na skript

v rozevírací nabídce můžete vybrat „převést EXEC na skript“ :

volba
Obr.7 výběr příkazu „převést EXEC na skript“ v hlavním menu SQL Complete

místo volání uložené procedury bude vytvořen skript, vstupní parametry se stanou proměnnými a uložený obsah procedury se stane skriptem. Je to užitečná funkce při testování kódu:

výsledek vytvoření skriptu z uložené procedury
Obr.8 výsledek vytvoření skriptu z uložené procedury

nyní můžete spustit odvozený skript na libovolném hostiteli nebo skupině hostitelů nastavením správných hodnot vstupních parametrů.

historie vytváření dotazů

podívejme se nyní na další důležitou funkci-SQL Complete: Execution History, která zobrazuje předchozí dotazy. Chcete-li to provést, klikněte na tlačítko SQL Complete: Execution History:

volba
Obr.9 výběrem příkazu „historie provádění“ v hlavním menu SQL Complete

se zobrazí následující okno:

zobrazení provedených skriptů
Obr.10 zobrazení provedených skriptů

levý horní roh okna obsahuje filtry pro slova a časový rozsah, zatímco pravý roh zobrazuje počet dotazů, které byly nalezeny na základě dat zadaných ve filtru. Spodní strana okna zobrazuje dotaz vybraný z tabulky.

tabulka se skládá z následujících sloupců:

  1. Stav – zobrazuje, zda byl dotaz úspěšně dokončen (bílé zaškrtnutí v zeleném kruhu) nebo ne (bílý kříž v červeném kruhu)
  2. QueryText – zobrazuje text dotazu
  3. Velikost (bajty) – zobrazuje velikost měřená v bajtech
  4. provedení On – zobrazuje datum a čas, kdy byl dotaz proveden
  5. trvání – zobrazuje čas potřebný k provedení dotazu
  6. soubor – zobrazuje soubor
  7. server – zobrazuje název serveru
  8. uživatel – zobrazuje uživatele, který provedl skript
  9. databáze – zobrazuje a databáze, ve které byl skript spuštěn

hledání sloupců „QueryText“ a „Execution On“ se provádí ve filtrech“ Search „a“ From/To“.

můžete také třídit datové sloupce ve vzestupném nebo sestupném pořadí kliknutím na záhlaví správného sloupce. Ve výchozím nastavení je třídění sloupců „Execution On“ povoleno v sestupném pořadí.

můžete třídit více sloupců současně podržením tlačítka SHIFT. Složitější filtry můžete také nastavit kliknutím na znaménko filtru:

nastavení filtrování sloupců
Obr.11 nastavení filtrování sloupců

Nyní zadejte náš uložený název procedury „AutoKillSessionTranBegin“ do filtru“ hledat“:

 uložené vyhledávání procedur v
Obr.12 uložené vyhledávání procedur na kartě“ Historie provádění “

výsledkem je úplná historie vytváření srv.AutoKillSessionTranBegin postup, který byl popsán dříve.

pokud kliknete pravým tlačítkem myši na správný řádek tabulky, můžete otevřít skript v novém okně nebo jej zkopírovat do schránky a vložit jej tam, kde je potřeba:

kopírování vybraného skriptu z
obr.13 kopírování vybraného skriptu z karty“ Historie provádění “

skript můžete otevřít v novém okně dvojitým kliknutím na požadovaný skript v řádku tabulky.

můžete také určit, jak dlouho je uložena historie provádění, maximální velikost dotazu a cesta k ukládání historie:

obr.14. Nastavení příkazu „Execution History“ v SQL Complete

další podrobnosti o funkčnosti Execution History si můžete přečíst zde.

to je vše, lidi. Nová funkce byla vyvinuta, testována a přesunuta do správných instancí MS SQL Server.

  • Autor
  • poslední příspěvky
Jevgenij Gribkov

Evgeniy Gribkov

Evgeniy je analytik, vývojář a správce databáze MS SQL Server. Podílí se na vývoji a testování nástrojů pro správu databází SQL Server. Evgeniy také píše články související s SQL Serverem.

Jevgenij Gribkov

poslední příspěvky od Evgeniy Gribkov (Zobrazit vše)

  • vytvoření uložené procedury pro upuštění lokálních dočasných tabulek v SQL Serveru-červen 16, 2021
  • vyhrazený odkaz řízení zdroje úložiště-květen 6, 2021
  • řízení Verze databáze pomocí řízení zdroje pro SQL Server-Květen 5, 2021

sql kompletní, sql server, sql Server transakce, sql uložené procedury

Leave a Reply

Vaše e-mailová adresa nebude zveřejněna.