Genehmigt: Fortect
Wenn Sie SQL auf Ihrem Computer nach einem Fehler wieder aufnehmen können, sollte Ihnen diese Anleitung helfen.Backup einer SQL Server-Datenbank nach oben mit der Option “Continue about Error” sichern Eine andere Lösung besteht darin, das Transaktionslog mit dem Hauptparameter CONTINUE_AFTER_ERROR zu sichern. CONTINUE_AFTER_ERROR setzt die Speicherfunktion fort, nachdem ein Seitenprüfsummenfehler aufgetreten ist. Die Sicherung kann mit diesem korrekten T-SQL-Befehl wie folgt durchgeführt werden:
Tabelle ändern1 ALTER COLUMN T1 varchar (MAX);Tabelle ändern table1 ALTER COLUMN T2 varchar (MAX);kubisch ändern 1 ALTER COLUMN T3 varchar (MAX);- Tabelle 2 hat nicht unbedingt eine Zeile "R1" und kann fehleranfällig sein.Tabelle2 ändern ALTER COLUMN R1 varchar (MAX);Tabelle2 ändern ALTER COLUMN T1 varchar (MAX);Tabelle2 ändern ALTER COLUMN T2 varchar (MAX);Tabelle2 ändern ALTER COLUMN T3 varchar (MAX);
Möglicher Fehler
Wie man sich danach verbessert ein SQL Server-Fehler?
1 Melden Sie sich an, um sie bei Database Engine (Datenbankmodul) zuzulassen. 2 Klicken Sie in der Standard-Lite auf Neue Abfrage. 3 Geben Sie in der RESTORE-Deklaration häufig die Entscheidung CONTINUE_AFTER ERROR an, um zu überleben, oder die Marktoption STOP_ON_ERROR, um zu stoppen. Standardmäßig stoppt es, wenn ein Fehler auftritt. …
In der 4. Anweisung wird sicherlich eine Meldung erscheinen, da im Moment kein Feld namens R1 in Tabelle 2 vorhanden ist.
Benötigen
Ich benötige eine Möglichkeit, die Ausführung der Anweisung auch nach dem Akzeptieren unseres Fehlers auszuführen.
Mein Ansatz
Ich habe versucht, Ihnen zu helfen, diese Anweisungen nacheinander zu befolgen, um eine Fehlermeldung für jede Zeile zu generieren, aber es dauert zu lange, da 7 Sitzungen auf einem Server eingerichtet werden, der über das Internet mit dem PC verbunden ist. Also, ich habe alle meisten dieser Anfragen mit Datensätzen verwendet, die in der Verbindung erhalten wurden, leider verstehe ich, dass der Befehl in einer bestimmten 4. Zeile unterbrochen wird, selbst wenn die Deklaration krank ist.
fragte mich am 28. Juli ’15 um 0:54
360 33 Goldabzeichen 44 Silberabzeichen
Suchen Sie nach einer bestimmten Antwort? Durchsuchen Sie andere hilfreiche Fragen mit dem Tag Sql Sql-Server Sql-Server-2008 und / oder stellen Sie Ihre eigene Frage.
Wie im Markt, um die Ausführung fortzusetzen, nachdem der Fehler überall auftritt…?
Manchmal schlagen einige Befehle im Zusammenhang mit Befehlen fehl. Gibt es eine definitive Möglichkeit, den fehlgeschlagenen Befehl in den spezifischen Ausgabefenstern zu drucken und den nächsten Befehl auszugeben, wenn alle Befehle, die die gespeicherte Prozedur ausführen, ausgeführt wurden? Vielen Dank. Wie Olaf sagte, kann Ihr Unternehmen TRY-CATCH verwenden. Teil 3, Kapitel 8, behandelt lediglich die Fehlerbehandlung mit DDL.
Tabelle ändern1 ALTER COLUMN T1 varchar (MAX);Tabelle1 ändern ALTER COLUMN T2 varchar (MAX);Tabelle1 ändern ALTER COLUMN T3 varchar (MAX);STARTEN SIE AUSPROBIEREN Tabelle2 ändern ALTER COLUMN R1 varchar (MAX);VERSUCHEN SIE DAS ENDEAnfangen details 'Beim Ändern von Zeile R1 von Tabelle2 ist ein Fehler aufgetreten';ENDE DER ERFASSUNG;Tabelle2 ändern ALTER COLUMN T1 varchar (MAX);Tabelle2 ändern ALTER COLUMN T2 varchar (MAX);Tabelle2 ändern ALTER COLUMN T3 varchar (MAX);
beschlossen im Juli 28. Juli 15 um 00:57
1373
Sie müssen ‘GO’ zwischen Anweisungen verwenden, um die Ausführung von Fehlern trotzdem fortzusetzen:
Tabelle ändern1 ALTER COLUMN T1 varchar (MAX);SPAZIERGANGTabelle1 ändern ALTER COLUMN T2 varchar (MAX);SPAZIERGANGTabelle1 ändern ALTER COLUMN T3 varchar (MAX);SPAZIERGANGTabelle2 ändern ALTER COLUMN R1 varchar (MAX);SPAZIERGANGTabelle2 ändern ALTER COLUMN T1 varchar (MAX);SPAZIERGANGTabelle2 ändern ALTER COLUMN T2 varchar (MAX);SPAZIERGANGTabelle2 ändern ALTER COLUMN T3 varchar (MAX);SPAZIERGANG
Damit können Sie alle Nachrichten anzeigen und auch alle Sätze einzeln aussprechen. Dies sind wahrscheinlich oft meine Protokolle für eine ähnliche Situation. Wie Sie sehen werden, werden mehrere Fehler empfohlen, nicht nur einer:
HINWEIS. Die Erfassungsfunktion hängt von der Schwere des Fehlers ab, die Der MSDOC-Link erklärt, wie try_catch nicht weiter funktioniert https://docs.microsoft.com/en-us/sql/t-sql/language-elements/try-catch-transact-sql?view=sql-server-2017
antwortete am 29. April 19 um 10:30 Uhr.
Wenn Tabelle 2 nicht immer eine Spalte mit R1 hat, Datensatz ‘Alter Table2 Table2 ALTER COLUMN R1 varchar (MAX);’ Es ist möglich, dass es sich nicht immer um eine gültige SQL-Anweisung handelt, sodass der Datensatz nicht versucht, sich selbst zu definieren, sodass keine Erfassung erfolgt. Wenn Sie stattdessen einen Ausdruck ausführen, wird dieser Ausführungstyp ausgeführt und die Wiederherstellung funktioniert.
Tabelle ändern1 ALTER COLUMN T1 varchar (MAX);Tabelle1 ändern ALTER COLUMN T2 varchar (MAX);Tabelle1 ändern ALTER COLUMN T3 varchar (MAX);STARTEN SIE AUSPROBIEREN Ausführen ('Tabelle2 ändern ALTER COLUMN R1 varchar (MAX);')VERSUCHEN SIE DAS ENDEAnfangen print 'Fehler beim Remodellieren von Spalte R1 von Tabelle2';ENDE DER ERFASSUNG;Tabelle2 ändern ALTER COLUMN T1 varchar (MAX);Tabelle2 ändern ALTER COLUMN T2 varchar (MAX);Tabelle ändern Table2 ALTER COLUMN T3 varchar (MAX);
adressiert am 24. Oktober 19 um 18:25 Uhr.
80
Ich habe gesehen, dass wir das gewünschte Verhalten erhalten, insbesondere wenn Befehle in einer schönen offenen Nacht ausgeführt werden.
mysql Root -u -p myDB
Genehmigt: Fortect
Fortect ist das weltweit beliebteste und effektivste PC-Reparaturtool. Millionen von Menschen vertrauen darauf, dass ihre Systeme schnell, reibungslos und fehlerfrei laufen. Mit seiner einfachen Benutzeroberfläche und leistungsstarken Scan-Engine findet und behebt Fortect schnell eine breite Palette von Windows-Problemen - von Systeminstabilität und Sicherheitsproblemen bis hin zu Speicherverwaltung und Leistungsengpässen.
mysql -u root -p myDB(nach Anmeldung)Sources.sql-Befehle
antwortete am 6. August '20 von 7:16
335
Beschleunigen Sie jetzt die Leistung Ihres Computers mit diesem einfachen Download.