Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Update: Ein arithmetischer Überlauf-Fehler tritt nur zeitweise während der Phase "Einen Snapshot der sys. dm_exec_query_stats sammeln" nach dem Aktivieren der Datensammlungsprogramm in SQL Server 2008

Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 975915
Microsoft stellt Updates für Microsoft SQL Server 2008 als downloadbare Datei. Da die Updates kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in vorherigen SQL Server 2008 enthalten waren.
Problembeschreibung
Stellen Sie sich das folgende Szenario vor.
  • Sie aktivieren das Datensammlungsprogramm.
  • Unter einer Arbeitsauslastung bei starker oder einen längeren Wenn das Datensammlungsprogramm ausgeführt wird, kann Wartung Datenbankaktivität bei sehr großen Datenbanken, z. B. Indizes neu erstellt werden, und Aktualisieren von Statistiken, zu der Arithmetischer Überlauffehler wie folgt führen. Dieses Arithmetischer Überlauffehler tritt zeitweise während der sammeln einen Snapshot der sys. dm_exec_query_stats-Phase.
Nachricht: SSIS-Fehlercode DTS_E_OLEDBERROR. Ein OLE DB-Fehler ist aufgetreten. Fehlercode: 0x80040E57.
Ein OLE DB-Datensatz ist verfügbar. Quelle: "Microsoft SQL Server Native Client 10.0" HRESULT: 0x80040E57 Beschreibung: "Fehler arithmetischer Überlauf beim Konvertieren Ausdrucks in Datentyp int".

Wenn Sie die Daten Collector Protokollierungsstufe auf 2 erhöhen (z. B. Ausführen der "Exec Sp_syscollector_update_collection_set @ Collection_set_id <collectionsetid>=, @ Logging_level = 2"-Anweisung), werden die folgenden Fehlermeldungen zurückgegeben:
<Datum Uhrzeit >, SEQ - sammeln und Analysieren von Abfragestatistiken und Abfrage-Plan und Text, Fehler, 6569,,,, SSIS-Fehler Code DTS_E_OLEDBERROR. Ein OLE DB-Fehler ist aufgetreten. Fehlercode: 0x80040E57. <nl/> ein OLE DB-Datensatz ist verfügbar. Quelle: "Microsoft SQL Server Native Client 10.0" HRESULT: 0x80040E57 Beschreibung: "Fehler arithmetischer Überlauf beim Konvertieren Ausdrucks in Datentyp int".,, < Datum-Uhrzeit >,, < Datum-Uhrzeit >,,,, OnError,-1071636471 < Datum-Uhrzeit >, QueryActivityUpload, Fehler, 6569,,,, SSIS-Fehler Code DTS_E_OLEDBERROR. Ein OLE DB-Fehler ist aufgetreten. Fehlercode: 0x80040E57. <nl/> ein OLE DB-Datensatz ist verfügbar. Quelle: "Microsoft SQL Server Native Client 10.0" HRESULT: 0x80040E57 Beschreibung: "Fehler arithmetischer Überlauf beim Konvertieren Ausdrucks in Datentyp int".,, < Datum-Uhrzeit >,, < Datum-Uhrzeit >,,,, OnError,-1071636471

<Datum Uhrzeit >, DFT - erstellen interessanter Abfragen uploaden Batch, Fehler, 6569,,,, Komponente "ODS - Get aktuellen Snapshot der Dm_exec_query_stats" (16412) fehlgeschlagenen der Pre-execute-Phase und der zurückgegebene Fehlercode 0xC0202009.,, < Datum-Uhrzeit >,, < Datum-Uhrzeit >,,,, OnError,-1073450982

<Datum Uhrzeit >, SEQ - aufzeichnen und Analysieren von Abfragestatistiken und Abfrage Plan und Text, Fehler, 6569,,,, Komponente "ODS - Get aktuellen Snapshot der Dm_exec_query_stats" (16412) fehlgeschlagenen der Pre-execute-Phase und der zurückgegebene Fehlercode 0xC0202009.,, < Datum-Uhrzeit >,, < Datum-Uhrzeit >,,,, OnError,-1073450982

<Datum Uhrzeit >, QueryActivityUpload, Fehler, 6569,,,, Komponente "ODS - Get aktuellen Snapshot der Dm_exec_query_stats" (16412) fehlgeschlagenen der Pre-execute-Phase und der zurückgegebene Fehlercode 0xC0202009.,, < Datum-Uhrzeit >,, < Datum-Uhrzeit >,,,, OnError,-1073450982


In diesem Szenario bewirkt die folgende Anweisung, die von SQL Server ausgeführt wird, dass den Arithmetischer Überlauffehler:
SET NOCOUNT ONDECLARE @p1 datetimeSET @p1 = GETDATE()SELECT     [sql_handle],    statement_start_offset,    statement_end_offset,    -- Use ISNULL here and in other columns to handle in-progress queries that are not yet in sys.dm_exec_query_stats.      -- These values only come from sys.dm_exec_query_stats. If the plan does not show up in sys.dm_exec_query_stats     -- (first execution of a still-in-progress query, visible in sys.dm_exec_requests), these values will be NULL.     MAX (plan_generation_num) AS plan_generation_num,    plan_handle,    MIN (creation_time) AS creation_time,     MAX (last_execution_time) AS last_execution_time,    SUM (execution_count) AS execution_count,    SUM (total_worker_time) AS total_worker_time,    MIN (min_worker_time) AS min_worker_time,           -- NULLable    MAX (max_worker_time) AS max_worker_time,    SUM (total_physical_reads) AS total_physical_reads,    MIN (min_physical_reads) AS min_physical_reads,     -- NULLable    MAX (max_physical_reads) AS max_physical_reads,    SUM (total_logical_writes) AS total_logical_writes,    MIN (min_logical_writes) AS min_logical_writes,     -- NULLable    MAX (max_logical_writes) AS max_logical_writes,    SUM (total_logical_reads) AS total_logical_reads,    MIN (min_logical_reads) AS min_logical_reads,       -- NULLable    MAX (max_logical_reads) AS max_logical_reads,    SUM (total_clr_time) AS total_clr_time,    MIN (min_clr_time) AS min_clr_time,                 -- NULLable    MAX (max_clr_time) AS max_clr_time,    SUM (total_elapsed_time) AS total_elapsed_time,    MIN (min_elapsed_time) AS min_elapsed_time,         -- NULLable    MAX (max_elapsed_time) AS max_elapsed_time,    @p1 AS collection_timeFROM(    SELECT          [sql_handle],        statement_start_offset,        statement_end_offset,        plan_generation_num,        plan_handle,        creation_time,        last_execution_time,        execution_count,        total_worker_time,        min_worker_time,        max_worker_time,        total_physical_reads,        min_physical_reads,        max_physical_reads,        total_logical_writes,        min_logical_writes,        max_logical_writes,        total_logical_reads,        min_logical_reads,        max_logical_reads,        total_clr_time,        min_clr_time,        max_clr_time,        total_elapsed_time,        min_elapsed_time,        max_elapsed_time     FROM sys.dm_exec_query_stats AS q    -- Temporary workaround for VSTS #91422.  This should be removed if/when sys.dm_exec_query_stats reflects in-progress queries.     UNION ALL     SELECT         r.[sql_handle],        r.statement_start_offset,        r.statement_end_offset,        ISNULL (qs.plan_generation_num, 0) AS plan_generation_num,        r.plan_handle,        ISNULL (qs.creation_time, r.start_time) AS creation_time,        r.start_time AS last_execution_time,        1 AS execution_count,        -- dm_exec_requests shows CPU time as ms, while dm_exec_query_stats         -- uses microseconds.  Convert ms to us.         r.cpu_time * 1000 AS total_worker_time,        qs.min_worker_time,     -- min should not be influenced by in-progress queries        r.cpu_time * 1000 AS max_worker_time,        r.reads AS total_physical_reads,        qs.min_physical_reads,  -- min should not be influenced by in-progress queries        r.reads AS max_physical_reads,        r.writes AS total_logical_writes,        qs.min_logical_writes,  -- min should not be influenced by in-progress queries        r.writes AS max_logical_writes,        r.logical_reads AS total_logical_reads,        qs.min_logical_reads,   -- min should not be influenced by in-progress queries        r.logical_reads AS max_logical_reads,        qs.total_clr_time,      -- CLR time is not available in dm_exec_requests        qs.min_clr_time,        -- CLR time is not available in dm_exec_requests        qs.max_clr_time,        -- CLR time is not available in dm_exec_requests        -- dm_exec_requests shows elapsed time as ms, while dm_exec_query_stats         -- uses microseconds.  Convert ms to us.         r.total_elapsed_time * 1000 AS total_elapsed_time,        qs.min_elapsed_time,    -- min should not be influenced by in-progress queries        r.total_elapsed_time * 1000 AS max_elapsed_time    FROM sys.dm_exec_requests AS r     LEFT OUTER JOIN sys.dm_exec_query_stats AS qs ON r.plan_handle = qs.plan_handle AND r.statement_start_offset = qs.statement_start_offset         AND r.statement_end_offset = qs.statement_end_offset     WHERE r.sql_handle IS NOT NULL ) AS query_stats OUTER APPLY sys.dm_exec_sql_text (sql_handle) AS sqlGROUP BY [sql_handle], plan_handle, statement_start_offset, statement_end_offset ORDER BY [sql_handle], plan_handle, statement_start_offset, statement_end_offset
also, wenn Sie diese Anweisung manuell ausführen, außerdem möglicherweise die folgende Fehlermeldung:
Msg 8115, Ebene 16, Status, 2,
Arithmetischer Überlauffehler Ausdruck in Int-Datentyps konvertieren
Lösung
Die Fehlerbehebung für dieses Problem wurde zuerst im kumulative Update 5 für SQL Server 2008 Service Pack 1 veröffentlicht. Weitere Informationen zu diesem kumulativen Update-Paket klicken Sie auf die folgende KB-Artikelnummer:
975977Kumulatives Updatepaket 5 für SQL Server 2008 Service Pack 1
Hinweis: Da die Builds kumulativ sind, enthält jede neue Update-Version aller Hotfixes, und alle Sicherheitsupdates, die in vorherigen SQL Server 2008 enthalten waren. Microsoft empfiehlt, dass Sie sich die neueste Version der Updates, die diesen Hotfix enthält anzuwenden. Weitere Informationen finden Sie die folgende KB-Artikelnummer:
970365SQL Server 2008 erstellt, die nach der Freigabe von SQL Server 2008 Service Pack 1 veröffentlicht wurden
Microsoft SQL Server 2008 Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen einen Hotfix für SQL Server 2008 Service Pack 1 auf eine Installation von SQL Server 2008 Service Pack 1 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack zur Verfügung gestellt wird in das nächste Servicepack für SQL Server enthalten.
Status
Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind.
Informationsquellen
Weitere Informationen zum inkrementellen Dienstmodell für SQL Server klicken Sie auf die folgende KB-Artikelnummer:
935897Ein inkrementelles Dienstmodell ist vom SQL Server-Team zum Übermitteln von Hotfixes für gemeldete Probleme verfügbar


Weitere Informationen zum Benennungsschema für SQL Server-Updates finden Sie die folgende KB-Artikelnummer:
822499Neues Benennungsschema für Softwareupdate-Pakete von Microsoft SQL Server


Weitere Informationen zur Terminologie für Softwareupdates finden Sie die folgende KB-Artikelnummer:
824684Erläuterung von Standardbegriffen bei Microsoft Softwareupdates
Dm_exec_query_stats "Arithmetischer Überlauf"8115 "Sammlung" Data Collection"" "abrufen" von aktuellen Snapshot der Dm_exec_query_stats"

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 975915 – Letzte Überarbeitung: 11/16/2009 09:37:02 – Revision: 1.1

Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Workgroup

  • kbmt kbexpertiseadvanced kbsurveynew kbqfe kbfix KB975915 KbMtde
Feedback
&t=">