Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Steuert die Rückgabe von Fehlermeldungen, die wegen Überlauffehlern oder Fehlern aufgrund einer Division durch Null während einer Abfrage auftreten.
Transact-SQL-Syntaxkonventionen
Syntax
-- Syntax for SQL Server and Azure SQL Database and Microsoft Fabric
SET ARITHIGNORE { ON | OFF }
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse
SET ARITHIGNORE OFF
Hinweis
Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.
Bemerkungen
Die Einstellung SET ARITHIGNORE steuert nur, ob eine Fehlermeldung zurückgegeben wird. SQL Server gibt unabhängig von dieser Einstellung in einer Berechnung NULL zurück, wenn ein Fehler durch Überlauf oder die Division durch 0 auftritt. Die Einstellung SETSET ARITHABORT kann verwendet werden, um zu bestimmen, ob die Abfrage beendet wird. Diese Einstellung beeinflusst keine Fehler, die während INSERT, UPDATE, und DELETE Anweisungen auftreten.
Wenn entweder oder SET ARITHABORTSETSET ARITHIGNORE AUS und SETSET ANSI_WARNINGS AN ist, liefert SQL Server weiterhin eine Fehlermeldung, wenn Divivide-by-Zero- oder Überlauffehler auftreten.
Die Einstellung wird SET ARITHIGNORE zur Ausführung oder Laufzeit und nicht zur Analysezeit festgelegt.
Um die aktuelle Einstellung anzuzeigen, führen Sie die folgende Abfrage aus.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Berechtigungen
Erfordert die Mitgliedschaft in der public-Rolle.
Beispiele
Im folgenden Beispiel wird die Verwendung beider SET ARITHIGNORE-Einstellungen mit beiden Typen von Abfragefehlern veranschaulicht.
SET ARITHABORT OFF;
SET ANSI_WARNINGS OFF
GO
PRINT 'Setting ARITHIGNORE ON';
GO
-- SET ARITHIGNORE ON and testing.
SET ARITHIGNORE ON;
GO
SELECT 1 / 0 AS DivideByZero;
GO
SELECT CAST(256 AS TINYINT) AS Overflow;
GO
PRINT 'Setting ARITHIGNORE OFF';
GO
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
GO
SELECT 1 / 0 AS DivideByZero;
GO
SELECT CAST(256 AS TINYINT) AS Overflow;
GO
Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)
Im folgenden Beispiel werden die Fehler aufgrund einer Division durch 0 (null) und Überlauffehler veranschaulicht. Dieses Beispiel liefert keine Fehlermeldung für diese Fehler, da ARITHIGNORE AUS ist.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;
Weitere Informationen
SET Anweisungen (Transact-SQL)
SET
SET ARITHABORT (Transact-SQL)