Exportieren Sie die gespeicherte SQL-Prozedur in eine Datei und generieren Sie ihr Skript
In früheren Artikeln haben wir einen allgemeinen Algorithmus zum Suchen und Löschen unvollständiger offener Transaktionen in SQL Server-Datenbanken überprüft, eine Tabelle zum Beheben unvollständiger Transaktionen und eine CRUD-gespeicherte Prozedur erstellt und zahlreiche Einstellungen implementiert, die unseren Dokumentenworkflow produktiv und praktisch machen.
Lassen Sie uns nun eine gespeicherte Prozedur exportieren und testen, ihren Code generieren und in ein Skript umwandeln – es wird auf jedem Host oder einer Gruppe von Hosts ausgeführt, indem die richtigen Eingabeparameter angegeben werden.
Gespeicherte Prozedur in SQL Server exportieren
Es kann auch sehr nützlich sein, ein Skript zum Erstellen der erforderlichen Datenbankobjekte zu generieren, z. B. ein Skript zum Exportieren einer gespeicherten Prozedur in eine Datei zu generieren oder die gespeicherte Prozedur in andere Lösungen zu kopieren. Führen Sie dazu die folgenden Schritte aus:
- Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf Ihre Datenbank
- Wählen Sie Aufgaben aus dem angezeigten Kontextmenü
- Wählen Sie den Befehl Skripte generieren
- Wählen Sie die zu skriptenden Objekte aus
- Wählen Sie im Fenster Set Scripting Options die Option Script to File aus
- Führen Sie das generierte Skript für die Zieldatenbank aus.
Wenn alle diese Schritte ausgeführt werden, erhalten wir ein generiertes Skript der exportierten gespeicherten Prozedur.
Testen einer gespeicherten Prozedur
Kehren wir zu einer gespeicherten Prozedur zurück, die wir in Teil 2 erstellt haben. Wenn wir den Cursor auf eine gespeicherte Prozedur ziehen, wird ein Dropdown-Menü angezeigt:
Damit Ihre gespeicherte Prozedur ordnungsgemäß funktioniert, sollte sie eine Beschreibung haben. Wenn es noch nicht hinzugefügt wurde, führen Sie bitte das folgende Skript aus:
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
Oder gehen Sie zu den erweiterten Eigenschaften des Objekts:
Mit dieser Methode können Sie auch eine Beschreibung hinzufügen.
Codegenerierung der gespeicherten Prozedur
Sie können es mit einem Rechtsklick auf das Dropdown-Menü einer gespeicherten Prozedur aufrufen und dann „Skriptobjekt als ERSTELLEN / ÄNDERN“ auswählen“:
Sobald Sie dies tun, erscheint ein Skript für die Objektänderung – in unserem Fall ist es die Änderung der gespeicherten Prozedur. Wenn es kein Objekt gibt, gibt es ein Skript zum Erstellen. Dieses Skript kann leicht in die richtigen MS SQL Server-Instanzen verschoben werden.
Gespeicherten Prozedurcode in ein Skript umwandeln
Sie können „EXEC in Skript konvertieren“ in einem Dropdown-Menü auswählen:
Anstatt eine gespeicherte Prozedur aufzurufen, wird ein Skript erstellt, Eingabeparameter werden zu Variablen und der Inhalt der gespeicherten Prozedur wird zu einem Skript. Es ist eine praktische Funktion beim Testen Ihres Codes:
Jetzt können Sie das abgeleitete Skript auf einem beliebigen Host oder einer Gruppe von Hosts ausführen, indem Sie die richtigen Werte für die Eingabeparameter festlegen.
Abfrageerstellungsverlauf
Lassen Sie uns nun eine weitere wichtige Funktionalität überprüfen – SQL Complete: Ausführungsverlauf, der die vorherigen Abfragen anzeigt. Klicken Sie dazu auf die Schaltfläche SQL Complete: Execution History:
den Befehl „Ausführungsverlauf“ auswählen, wird folgendes Fenster angezeigt:
Die obere linke Ecke des Fensters enthält Filter für Wörter und Zeitbereich, während die rechte Ecke die Anzahl der Abfragen anzeigt, die basierend auf den in den Filter eingegebenen Daten gefunden wurden. Die untere Seite des Fensters zeigt die aus der Tabelle ausgewählte Abfrage an.
Die Tabelle besteht aus folgenden Spalten:
- Status – zeigt an, ob eine Abfrage erfolgreich abgeschlossen wurde (weißes Häkchen in einem grünen Kreis) oder nicht (weißes Kreuz in einem roten Kreis)
- QueryText – zeigt den Abfragetext an
- Größe (Byte) – zeigt die in Byte gemessene Größe an
- Ausführung ein – zeigt Datum und Uhrzeit der Ausführung einer Abfrage an
- Dauer – die Zeit, die eine Abfrage benötigt hat, um ausgeführt zu werden
- Datei – zeigt den Namen der Datei und einen vollständigen Pfad dazu an
- Server – zeigt den Namen des Servers an
- Benutzer – zeigt einen Benutzer an, der ein Skript ausgeführt hat
- Datenbank – datenbank, in der ein Skript ausgeführt wurde
Die Suche nach den Spalten „QueryText“ und „Execution On“ erfolgt in den Filtern „Search“ und „From/To“.
Sie können Datenspalten auch in aufsteigender oder absteigender Reihenfolge sortieren, indem Sie auf eine Kopfzeile einer richtigen Spalte klicken. Standardmäßig ist die Spaltensortierung „Ausführung am“ in absteigender Reihenfolge aktiviert.
Sie können mehrere Spalten gleichzeitig sortieren, indem Sie die Umschalttaste gedrückt halten. Sie können auch komplexere Filter einrichten, indem Sie auf das Filterzeichen klicken:
Geben wir nun den Namen unserer gespeicherten Prozedur „AutoKillSessionTranBegin“ in den Filter „Suchen“ ein:
Als Ergebnis erhalten wir eine vollständige Erstellungshistorie des srv.AutoKillSessionTranBegin Verfahren, das zuvor beschrieben wurde.
Wenn Sie mit der rechten Maustaste auf eine richtige Tabellenzeile klicken, können Sie ein Skript in einem neuen Fenster öffnen oder es in die Zwischenablage kopieren, um es bei Bedarf einzufügen:
Sie können ein Skript in einem neuen Fenster öffnen, indem Sie auf das gewünschte Skript in einer Tabellenzeile doppelklicken.
Sie können auch angeben, wie lange der Ausführungsverlauf gespeichert wird, die maximale Abfragegröße und den Verlaufsspeicherpfad:
Weitere Details zur Funktionalität des Ausführungsverlaufs finden Sie hier.
Das ist alles, Leute. Die neue Funktionalität wurde entwickelt, getestet und auf geeignete MS SQL Server-Instanzen verschoben.
- Autor
- Neueste Beiträge
Evgeniy Gribkov
Neueste Beiträge von Evgeniy Gribkov (alle anzeigen)
- Gespeicherte Prozedur zum Löschen lokaler temporärer Tabellen in SQL Server erstellen – Juni 16, 2021
- Dediziertes Link-Quellcodeverwaltungs-Repository – Mai 6, 2021
- Datenbankversionskontrolle mit der Quellcodeverwaltung für SQL Server – Mai 5, 2021
sql complete, SQL Server, SQL Server-Transaktionen, gespeicherte SQL-Prozedur