Strategien zur Unterbrechung der SQL Server-Skriptausführung
Das Anhalten eines SQL Server-Skripts während der Ausführung ist häufig erforderlich, insbesondere während Validierungs- oder Datensuchvorgängen. Hier sind wirksame Methoden, um dies zu erreichen:
1. Der raiserror
Ansatz:
Die raiserror
-Anweisung bietet eine leistungsstarke Möglichkeit, die Skriptausführung anzuhalten. Verwenden Sie die folgende Syntax:
<code class="language-sql">raiserror('Critical error encountered', 20, -1) with log</code>
Wenn Sie den Schweregrad auf 20 (oder höher) festlegen und WITH LOG
einschließen, wird das Skript beendet und der Fehler im SQL Server-Protokoll aufgezeichnet.
2. Nutzen Sie die Option noexec
:
Diese Methode funktioniert in Verbindung mit GO
-Anweisungen. Durch die Einstellung noexec on
wird verhindert, dass nachfolgende Befehle ausgeführt werden. Denken Sie daran, noexec
auszuschalten, bevor Sie mit der Ausführung fortfahren.
Anschauliches Beispiel für die Kombination beider Methoden:
<code class="language-sql">print 'Starting script execution...' go print 'Fatal error detected, script will terminate!' -- Method 1: Raiserror raiserror('Critical error encountered', 20, -1) with log -- Method 2: Noexec set noexec on print 'This message will not be printed.' go -- Re-enable execution (necessary in SSMS for script re-run) set noexec off</code>
Wichtige Überlegungen:
raiserror
erfordert Administratorrechte und schließt die Datenbankverbindung.noexec
schließt die Verbindung nicht, erfordert aber eine explizite erneute Aktivierung der Ausführung.sqlcmd.exe
zeigt ein Exit-Code 2745 die Beendigung des Skripts an.Das obige ist der detaillierte Inhalt vonWie kann ich die Ausführung von SQL Server-Skripts während Validierungs- oder Suchvorgängen effektiv anhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!