2009-07-23 7 views

Odpowiedz

6

Zachowanie przerwy wsadowym w przypadku błędu jest SQL Server (tzn. Backend) opcja i jest regulowane przez powagi błędu. Nie ma możliwości zmiany zachowania serwera, błędy, które przerywają wsad, zawsze przerywają okres wsadowy.

Zachowanie kontynuacji pliku (uruchomienie następnej serii rozdzielanej przez GO po błędzie) jest opcją sqlcmd i jest sterowane przez przełącznik -b. Domyślnie jest ON (co oznacza, że ​​sqlcmd będzie kontynuowany z następną partią).

7

Użyj flagi -V w wierszu polecenia. Jeśli ustawisz wystarczająco dużą wartość (np. 17), nawet dość poważne błędy nie zatrzymają skryptu.

np. sqlcmd ... -V 17 -i MyFile.sql

Zakładam, że wiesz, co robisz, kiedy to robisz i mimo to monitorujesz komunikaty o błędach.

Możesz przejść wyżej, aż do poziomu 25, ale jeśli dostajesz błędy między poziomem 17 a 25, jest mało prawdopodobne, że będziesz w stanie dużo zrobić, ponieważ są spowodowane przez oprogramowanie lub sprzęt błędy na serwerze, a nie błędy w skryptach, które wprowadzasz. (http://msdn.microsoft.com/en-us/library/aa937483(v=sql.80).aspx)