Beste Lösung ath 0 Geschrieben 2. Dezember 2021 Beste Lösung Melden Geschrieben 2. Dezember 2021 Windows Server 2008R2 Hallo, ich weis nicht, wie ich mein Problem exakt beschreiben soll. Meine Update-Queries finden seit ein paar Tagen kein Ende mehr, d.h. Updates, die bislang innerhalb von Sekunden fertig waren sind selbst nach Stunden nicht beendet. Ein Beispiel: Meine Zieldatenbank enthält 45810 Sätze. Hier sollen ein paar Felder mit der Summe aus einer anderen Tabelle geändert werden. Das Update sieht so aus: update [meineDB].[dbo].[Zieltabelle] set pluswert = (select (sum(s.amount) / Stunden) * (Plus * StundenJeTag) from [meineDB].[dbo].[Quelldatei] as s where [meineDB].[dbo].[Zieltabelle].[Person] = s.Person and s.leistungsart not in ('8016', '8017', '8018', '8021', '8022') group by s.person) Wie gesagt: Die Abfrage lief bislang einwandfrei und war innerhalb von Sekunden beendet. Führe ich diese Abfrage als select aus und ersetze zum testen die Felder der Zieltabelle durch Konstanten ist der select in 2 Sekunden erledigt. Lege ich eine neue Datenbank an und führe die Abfragen in dieser neuen Datenbank aus ergibt sich das gleiche Problem. In welcher Richtung kann ich nach dem Fehler suchen? Danke und Gruß Andreas
NilsK 3.046 Geschrieben 2. Dezember 2021 Melden Geschrieben 2. Dezember 2021 Moin, das klingt erst mal nach einem Sperrkonflikt. Du könntest dir mit sp_who oder im Management Studio mal ansehen, wer noch mit der Datenbank verbunden ist. Vielleicht ist in einer der Sessions ein Lock auf die Tabelle oder Teile davon gesetzt. Gruß, Nils
zahni 587 Geschrieben 2. Dezember 2021 Melden Geschrieben 2. Dezember 2021 Ich würde mal schauen, ob die Where-Klausel zum Select oder zum Update gehört, So wie ich das sehe,, hat das Update kein Where und ändert für jede Zeile des Selects die Spalte Pluswert der kompletten Zieltabelle.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden