Zatwierdzono: Fortect
Jeśli od razu wznowisz SQL na swoim komputerze z błędem, ten przewodnik powinien ci pomóc.Tworzenie kopii zapasowej bazy danych SQL Server z opcją Kontynuuj w przypadku błędu Innym rozwiązaniem jest utworzenie kopii dziennika transakcji z parametrem głównym CONTINUE_AFTER_ERROR. CONTINUE_AFTER_ERROR kontynuuje funkcję zapisywania po wystąpieniu błędu sumy kontrolnej strony WWW. Kopie zapasowe można wykonać, jeśli chodzi o prawidłowe polecenie T-SQL w następujący sposób:
Modyfikuj Tabela1 ALTER COLUMN T1 varchar (MAX);Zmodyfikuj tabelę table1 ALTER COLUMN T2 varchar (MAX);Zmodyfikuj tabelę 1 ALTER COLUMN T3 varchar (MAX);- Tabela 2 niekoniecznie ma wał „R1” i może być podatna na błędy.Zmodyfikuj Tabela 2 ALTER COLUMN R1 varchar (MAX);Zmodyfikuj Tabela 2 ALTER COLUMN T1 varchar (MAX);Zmodyfikuj Tabela2 ALTER COLUMN T2 varchar (MAX);Zmodyfikuj Tabela2 ALTER COLUMN T3 varchar (MAX);
Możliwy błąd
Jak przywrócić po błąd serwera SQL?
1 Zaloguj się tylko do aparatu bazy danych. 2 W okienku normy kliknij opcję Nowe zapytanie. 3 W instrukcji RESTORE często określa się decyzję CONTINUE_AFTER ERROR o kontynuacji lub opcję rynkową STOP_ON_ERROR, aby zakończyć. Domyślnie zatrzymuje się po wystąpieniu błędu. …
W czwartym oświadczeniu prawdopodobnie pojawi się komunikat, ponieważ w tej chwili normalnie nie ma pola o nazwie R1 w tabeli 2.
Potrzeba
Potrzebuję sposobu, aby kontynuować wykonywanie oświadczenia nawet po zaakceptowaniu każdego naszego błędu.
Moje podejście
Próbowałem postępować zgodnie z tymi instrukcjami jeden po drugim, aby otrzymać komunikat o błędzie dla każdej linii, po prostu trwa to zbyt długo, ponieważ 7 sesji faktycznie łączy się z serwerem podłączonym do komputera przez Internet. Tak więc użyłem wielu z tych żądań z rekordami otrzymanymi w relacji roboczej, ale rozumiem, że przerwanie polecenia znalezione w 4 wierszu, nawet jeśli deklaracja jest teraz nieprawidłowa.
zapytał mnie z 28 lipca ’15 o 0:54
360 33 złote odznaki 44 srebrne odznaki brązowe odznaki z 1919 roku
Szukasz konkretnej odpowiedzi? Przeglądaj inne przydatne pytania Tagged Sql Sql-server Sql-server-2008 i/lub zadaj własne pytanie.
Jak kontynuować wykonanie po wystąpieniu błędu w ramach zapisanego…?
Czasami niektóre związane z poleceniami zawodzą. Czy jest teraz sposób na wydrukowanie nieudanego polecenia z oknami wyjściowymi i wydanie następnego żądania, dopóki wszystkie polecenia wykonujące zapisany przebieg akcji nie zostaną wykonane? Wielkie dzięki. Jak przyznał Olaf, możesz użyć TRY-CATCH. Część 3, rozdział , w szczególności dotyczy obsługi błędów w DDL.
Modyfikuj Tabela1 ALTER COLUMN T1 varchar (MAX);Zmodyfikuj Tabela1 ALTER COLUMN T2 varchar (MAX);Zmodyfikuj Tabela1 ALTER COLUMN T3 varchar (MAX);ZACZNIJ PRÓBOWAĆ Zmodyfikuj Tabela 2 ALTER COLUMN R1 varchar (MAX);WYPRÓBUJ KONIECWyruszać print 'Wystąpił błąd podczas zmiany wiersza R1 tabeli2';KONIEC PRZECHWYTYWANIA;Zmodyfikuj Tabela 2 ALTER COLUMN T1 varchar (MAX);Zmodyfikuj Tabela2 ALTER COLUMN T2 varchar (MAX);Zmodyfikuj Tabela2 ALTER COLUMN T3 varchar (MAX);
zmotywowany 28 lipca 15 lipca o 00:57
1373
Aby kontynuować konfigurację bez względu na błędy, musisz użyć przycisku „GO” między wyciągami:
Modyfikuj Tabela1 ALTER COLUMN T1 varchar (MAX);SPACEROWAĆZmodyfikuj Tabela1 ALTER COLUMN T2 varchar (MAX);SPACEROWAĆZmodyfikuj Tabela1 ALTER COLUMN T3 varchar (MAX);SPACEROWAĆZmodyfikuj Tabela 2 ALTER COLUMN R1 varchar (MAX);SPACEROWAĆZmodyfikuj Tabela 2 ALTER COLUMN T1 varchar (MAX);SPACEROWAĆZmodyfikuj Tabela2 ALTER COLUMN T2 varchar (MAX);SPACEROWAĆZmodyfikuj Tabela2 ALTER COLUMN T3 varchar (MAX);SPACEROWAĆ
Dzięki niemu możesz wyświetlić wszystkie punkty i wymówić wszystkie zdania jedno po drugim. To są prawdopodobnie moje logi dotyczące podobnego problemu. Jak zobaczysz, wyświetlanych jest wiele błędów, a nie tylko jeden:
UWAGA. Tryb nagrywania zależy od wagi błędu, który Link MSDOC wyjaśnia, w jaki sposób try_catch nie będzie dalej działać https://docs.microsoft.com/en-us/sql/t-sql/language-elements/try-catch-transact-sql?view=sql-server-2017
odpowiedział 29 kwietnia 19 o 10:30.
Jeśli tabela wielokrotna nie zawsze zawiera kolumnę z R1, rekord danych ‘Alter Table2 Table2 ALTER COLUMN R1 varchar (MAX);’ możliwe jest, aby nigdy nie być poprawną instrukcją SQL, więc instrukcja ta nie próbuje się zdefiniować, co jest niewiarygodne, że nie dochodzi do przechwycenia. Jeśli zamiast tego uruchomisz tę instrukcję, ten typ wykonania zostanie wykonany, a przywracanie będzie działać.
Modyfikuj Tabela1 ALTER COLUMN T1 varchar (MAX);Zmodyfikuj Tabela1 ALTER COLUMN T2 varchar (MAX);Zmodyfikuj Tabela1 ALTER COLUMN T3 varchar (MAX);ZACZNIJ PRÓBOWAĆ Wykonaj („Modyfikuj tabelę 2 ALTER COLUMN R1 varchar (MAX);”)WYPRÓBUJ KONIECWyruszać tworzenie „Błąd konwersji kolumny R1 tabeli 2”;KONIEC PRZECHWYTYWANIA;Zmodyfikuj Tabela 2 ALTER COLUMN T1 varchar (MAX);Zmodyfikuj Tabela2 ALTER COLUMN T2 varchar (MAX);Zmiana tabeli Tabela2 ALTER COLUMN T3 varchar (MAX);
odpowiedział 24 października 19 o 18:25.
siedemdziesiąt osiem
Widziałem, że otrzymujemy pożądane procedury za każdym razem, gdy polecenia są wykonywane w miłej, uczciwej sesji.
mysql Root -u -p myDB
Zatwierdzono: Fortect
Fortect to najpopularniejsze i najskuteczniejsze narzędzie do naprawy komputerów na świecie. Miliony ludzi ufają, że ich systemy działają szybko, płynnie i bez błędów. Dzięki prostemu interfejsowi użytkownika i potężnemu silnikowi skanowania, Fortect szybko znajduje i naprawia szeroki zakres problemów z systemem Windows - od niestabilności systemu i problemów z bezpieczeństwem po zarządzanie pamięcią i wąskie gardła wydajności.
mysql -u root -p mojaDB(po rejestracji)Sources.sql Polecenia
odpowiedział pół tuzina sierpnia '20 o 7:16
335
Przyspiesz teraz wydajność swojego komputera dzięki temu prostemu pobieraniu.