Verhalten bei aktivierten ARITHABORT und ARITHIGNORE
Wenn die beiden Optionen zur Abfrageverarbeitung, ARITHABORT und ARITHIGNORE, aktiviert sind (ON), hat ARITHABORT Vorrang.
ARITHABORT und ARITHIGNORE sind zwei unterschiedliche Optionen. Wenn Sie eine der beiden Optionen aktivieren (ON), wird die andere nicht automatisch deaktiviert (OFF). Wenn eine Anwendung beispielsweise die folgenden Anweisungen enthält, werden beide Optionen aktiviert (ON):
SET ARITHABORT ON
SET ARITHIGNORE ON
GO
Wenn eine SET-Anweisung in einer gespeicherten Prozedur ausgeführt wird, ist die neue Einstellung nur so lange aktiv, bis die Prozedur beendet ist. Nach Abschluss der Prozedur wird die Einstellung der Verbindung auf den Status vor der Ausführung der Prozedur zurückgesetzt.
Auswirkungen der ANSI_WARNINGS-Einstellung
Die Einstellung von ANSI_WARNINGS wirkt sich trotz der aktuellen Einstellungen von ARITHABORT und ARITHIGNORE auf das Verhalten des Abfrageprozessors aus.
Wenn beispielsweise SET ARITHABORT oder SET ARITHIGNORE deaktiviert ist (OFF) und SET ANSI_WARNINGS aktiviert (ON), wird von MicrosoftSQL Server weiterhin eine Fehlermeldung zurückgegeben, wenn Fehler der Form 'Division durch Null' oder 'Überlauf' auftreten.
In der folgenden Tabelle wird das Verhalten zusammengefasst.
ARITHABORT |
ANSI_WARNINGS |
Verhalten |
---|---|---|
ON |
ON |
Abbrechen ausschließlich der Anweisung. |
ON |
OFF |
Abbrechen des Batches. |
OFF |
ON |
Abbrechen ausschließlich der Anweisung. |
OFF |
OFF |
Wird fortgesetzt; der Standardwert ist NULL. |