Re: Fehler bei Index

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: Elmar Boye (ElmarB_at_gmx.net)
Date: 03/25/04


Date: Thu, 25 Mar 2004 17:15:39 +0100

Hallo Markus,

Markus Müller <anonymous@discussions.microsoft.com> schrieb ...
> ich habe hier auf einer meiner Tabellen ein Problem mit
> einem Index.
> Bei der Abfrage sortiere(ORDER BY) ich nach diesem Index
> und es kommt zu folgender Fehlermeldung.
>
> <pre>
> Server: Nachr.-Nr. 1205, Schweregrad 13, Status 1, Zeile 1
> Transaction (Process ID 53) was deadlocked on thread |
> communication buffer resources with another process and
> has been chosen as the deadlock victim. Rerun the
> transaction.
> </pre>
>
> Nehme ich das ORDER BY aus der Abfrage heraus funktioniert
> das ganze wieder.
> Die Integritätsprüfung schlägt fehl solange ich "kleinere
> Fehler beheben" aktiviert habe.

Zunächst: Bei einem Deadlock liegt kein Fehler in der
physikalischen Struktur der Datenbank vor.
Lies Dir vielmehr die Beschreibung zu Deadlocks in der
SQL Server Dokumentation durch. Dabei handelt es sich
um ein logische Konstrukt.

Hier wird der Optimierer für den Index einen anderen Ausführungsplan
auswählen, der ggf. in Verbindung mit anderen Tabellen zu einem
Deadlock führt - sprich zwei Prozesse blockieren sich endlos.

Um mehr zu sagen zu können müsste man die Abfrage und beteiligten
Tabellen sehen können. Und den generierten Abfrageplan (im
Query Analyzer über STRG+K).

Falls Du allerdings noch nicht das aktuelle Servicepack
für Deine SQL Server Version installiert hast, solltest
Du dies vorab tun, da es einige Bugs gibt, die sich darauf
beziehen.

Falls die Ausführung auf einem Mehrprozessorsystem erfolgt
kann es auch durch parallele Ausführungen dazu kommen,
dabei kann die Option MAXDOP 1 helfen.

Gruss
Elmar



Relevant Pages

  • Re: Geschwindigkeit Access Abfrage
    ... Was ist nun der bessere weg bzw. für die normale Suche ... In Access eine Abfrage erstellen, ... Ohne einen Index auf den Suchspalten macht das keinen Unterschied. ... System für alle Tabellen die auf die Tabelle verweisen ...
    (microsoft.public.de.german.entwickler.dotnet.datenbank)
  • Problem mit Group By Performance
    ... FORMAT,2) AS "Transactions ", ... In jeder dieser Tabellen liegt ein Index ... Ewigkeiten und ich bekam dann irgendwann eine Fehlermeldung, der Index ... bei dieser Abfrage, ...
    (de.comp.datenbanken.mysql)
  • Re: Access-Abfrage auf SQL-Datenbank
    ... > In der Datenbank sind einige Tabellen, bei denen mit Index ... > Wenn ich jetzt eine Abfrage auf den letzten Index-Wert ...
    (microsoft.public.de.access)
  • =?iso-8859-1?Q?Re:_Pivot:_Viele_W=F6rter_z=E4hlen?=
    ... Er muss nämlich eine Menge Daten auswerten. ... Dort wird dann der SQL-String erstellt, der die eigentliche Abfrage ... Weil "Tabellen" per default gecheckt war, dachte ich, es hat schon alles seine Richtigkeit. ... Wenn ich daraus eine PT bekomme, die alles in einer Spalte auswertet und mir korrekt die Anzahl der X und A sagt, ist es korrekt. ...
    (microsoft.public.de.excel)
  • Re: Indexe beissen sich? (Dau-Frage)
    ... > Hast Du mal DBCC CHECKTABLE respektive DBCC CHECKDB ausgeführt? ... checkdb with option PHYSICAL_ONLY: Keine Fehler ... Mit und ohne MAXDOPgibts bei obiger Abfrage mit und ohne Indexe keine ... Nachdem ich den Index des Optimieres benutzt habe gabs folgenden Plan: ...
    (microsoft.public.de.sqlserver)