Eksportuj procedurę składowaną SQL do pliku i wygeneruj jej skrypt

w poprzednich artykułach sprawdziliśmy ogólny algorytm wyszukiwania i usuwania niekompletnych otwartych transakcji w bazach danych SQL Server, stworzyliśmy tabelę do naprawiania niekompletnych transakcji i procedurę składowaną CRUD oraz zaimplementowaliśmy liczne ustawienia, które sprawią, że nasz obieg dokumentów będzie produktywny i poręczny.

wyeksportujmy i przetestujmy procedurę składowaną, wygenerujmy jej kod i przekształćmy ją w skrypt – będzie ona wykonywana na dowolnym Hostie lub grupie hostów poprzez podanie odpowiednich parametrów wejściowych.

eksport procedury składowanej w SQL Server

bardzo przydatne może być również wygenerowanie skryptu do wytworzenia niezbędnych obiektów bazy danych, na przykład wygenerowanie skryptu do eksportu procedury składowanej do pliku lub skopiowanie procedury składowanej do innych rozwiązań. Aby to zrobić, wykonaj następujące kroki:

  • w Eksploratorze obiektów kliknij prawym przyciskiem myszy bazę danych
  • wybierz zadania z menu kontekstowego, które się pojawi
  • wybierz polecenie Generuj Skrypty
wybranie polecenia Generuj Skrypty
rys. 1 Wybieranie polecenia Generuj Skrypty
  • Wybierz obiekty do skryptu
Zaznaczanie obiektów, które chcesz skryptować
rys. 2 wybieranie obiektów, które chcesz skryptować
  • w oknie Set Scripting Options wybierz Script to File
wybór skryptu do pliku
rys. 3. Wybór skryptu do pliku
  • Uruchom wygenerowany skrypt w docelowej bazie danych.

po wykonaniu wszystkich tych kroków otrzymamy wygenerowany skrypt wyeksportowanej procedury składowanej.

testowanie procedury składowanej

wróćmy do procedury składowanej, którą utworzyliśmy w części 2. Jeśli przeciągniemy kursor do procedury składowanej, pojawi się menu rozwijane:

menu rozwijane procedura składowana
rys. 4. Menu rozwijane procedura składowana

aby procedura składowana działała poprawnie, powinna zawierać opis. Jeśli nie został jeszcze dodany, uruchom następujący skrypt:

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

lub przejdź do rozszerzonych właściwości obiektu:

dodawanie opisu procedury składowanej
rys.5 Dodawanie opisu procedury składowanej

za pomocą tej metody można również dodać opis.

generowanie kodu procedury składowanej

możesz go wywołać, klikając prawym przyciskiem myszy na rozwijanym menu procedury składowanej, a następnie wybierz „Script Object as CREATE / ALTER”:

wybierając
rys.6 wybranie „Script Object as CREATE / ALTER” w menu kontekstowym

gdy to zrobisz, pojawi się skrypt zmiany obiektu – w naszym przypadku będzie to zmiana procedury składowanej. Jeśli nie ma żadnego obiektu, byłby skrypt do jego utworzenia. Skrypt ten można łatwo przenieść do odpowiednich instancji MS SQL Server.

zmiana kodu procedury składowanej na skrypt

możesz wybrać „Konwertuj EXEC na skrypt” w rozwijanym menu:

Wybieranie rys.
7 wybranie polecenia” Convert EXEC to Script ” w głównym menu SQL Complete

zamiast wywoływania procedury składowanej, zostanie utworzony skrypt, parametry wejściowe staną się zmiennymi, a zawartość procedury składowanej stanie się skryptem. Jest to przydatna funkcja podczas testowania kodu:

wynik tworzenia skryptu z procedury składowanej
rys.8 wynik tworzenia skryptu z procedury składowanej

teraz możesz uruchomić skrypt Pochodny na dowolnym Hostie lub grupie hostów, ustawiając odpowiednie wartości parametrów wejściowych.

historia tworzenia zapytań

przejrzyjmy teraz inną ważną funkcjonalność – SQL Complete: historię wykonania, która wyświetla poprzednie zapytania. Aby to zrobić, kliknij przycisk SQL Complete: Execution History:

wybór rys.
9 wybierając polecenie „Historia wykonania” w głównym menu SQL Complete

zobaczysz następujące okno:

wyświetlanie wykonanych skryptów
rys.10 wyświetlanie wykonanych skryptów

lewy górny róg okna zawiera filtry dla słów i zakresu czasowego, natomiast prawy róg pokazuje ilość zapytań, które zostały znalezione na podstawie danych wprowadzonych do filtra. W dolnej części okna wyświetlane jest zapytanie wybrane z tabeli.

tabela składa się z następujących kolumn:

  1. Status – pokazuje, czy zapytanie zostało zakończone pomyślnie (biały znacznik w zielonym kółku), czy nie (Biały krzyżyk w czerwonym kółku)
  2. QueryText – pokazuje tekst zapytania
  3. Rozmiar (bajty) – pokazuje rozmiar zmierzony w bajtach
  4. wykonanie włączone – pokazuje datę i godzinę wykonania zapytania
  5. file – pokazuje nazwę pliku i pełną ścieżkę do niego
  6. Server – pokazuje nazwę serwera
  7. user – pokazuje użytkownika, który wykonał skrypt
  8. database – pokazuje skrypt
  9. baza danych, w której został wykonany skrypt

wyszukiwanie kolumn „QueryText” i „Execution On” odbywa się w filtrach „Search” i „From/To”.

możesz również sortować kolumny danych w porządku rosnącym lub malejącym, klikając nagłówek odpowiedniej kolumny. Domyślnie sortowanie kolumn „wykonanie na” jest włączone w porządku malejącym.

możesz sortować wiele kolumn w tym samym czasie, przytrzymując przycisk SHIFT. Możesz także skonfigurować bardziej złożone filtry, klikając znak filtra:

Ustawianie filtrowania kolumn
rys.11 Konfigurowanie filtrowania kolumn

w filtrze „Szukaj” wpisz nazwę procedury składowanej „AutoKillSessionTranBegin” :

Wyszukiwanie procedur składowanych na Rys.
.12 Wyszukiwanie procedur składowanych w zakładce „Historia wykonania”

w rezultacie otrzymujemy pełną historię tworzenia srv.Procedura AutoKillSessionTranBegin, która została opisana wcześniej.

jeśli klikniesz prawym przyciskiem myszy odpowiedni wiersz tabeli, możesz otworzyć skrypt w nowym oknie lub skopiować go do schowka w celu wklejenia go w dowolnym miejscu:

kopiowanie wybranego skryptu z Rys.
13 kopiowanie wybranego skryptu z zakładki „historia wykonania”

skrypt można otworzyć w nowym oknie, klikając dwukrotnie żądany skrypt w wierszu tabeli.

Możesz również określić, jak długo przechowywana jest historia wykonania, maksymalny rozmiar zapytania i ścieżkę do przechowywania historii:

14. Ustawienia polecenia” Historia wykonywania ” w SQL są kompletne

więcej szczegółów na temat funkcji Historia wykonywania można przeczytać tutaj.

to wszystko, ludzie. Nowa funkcjonalność została opracowana, przetestowana i przeniesiona do odpowiednich instancji MS SQL Server.

  • Autor
  • Ostatnie posty
Jewgienij Gribkow

Evgeniy Gribkov

Evgeniy jest analitykiem baz danych MS SQL Server, programistą i administratorem. Zajmuje się tworzeniem i testowaniem narzędzi do zarządzania bazami danych SQL Server. Evgeniy pisze również artykuły związane z serwerem SQL.

Jewgienij Gribkow

najnowsze posty Evgeniy Gribkov (Zobacz wszystkie)

  • Tworzenie procedury składowanej dla zrzucania lokalnych tabel tymczasowych w SQL Server-16 czerwca 2021
  • repozytorium Dedicated link Source Control – 6 maja 2021
  • Kontrola wersji bazy danych za pomocą kontroli Source dla SQL Server-Maj 5, 2021

SQL complete, SQL server, SQL Server transactions, SQL stored procedure

Leave a Reply

Twój adres e-mail nie zostanie opublikowany.