Ich habe ein Leistungsproblem
Ich muss eine gespeicherte Prozedur von .NET 1.1 ausführen. Diese gespeicherte Prozedur ruft 8 Stored Procedures auf. Jeder von ihnen verarbeitet Informationen, um einen Vergleich zwischen alten und neuen Informationen zu erstellen und die physische Tabelle in DataBase zu beeinflussen.Leistungsproblem mit 8 verschachtelten gespeicherten Prozeduren
Das Problem kommt, da ich versuche, es direkt von SSMS auszuführen. Server stürzen ab, werden so langsam und fast unmöglich zu arbeiten. Ich denke, Infrastruktur-Leute müssen den Dienst direkt auf dem Server wiederherstellen.
Ich arbeite in Entwicklungsumgebung, so gibt es kein großes Problem, aber ich kann dies nicht in Produktionsumgebung hochladen.
Ich habe in Verwendung Verfahren nur zu Vergleichszwecken gedacht und beeinflussen nie physikalische Daten. Erhalte Informationen von ihnen in Temporären Tabellen in der Prinzipalprozedur und öffne dann meine Try-Catch- und Begin-End-Transaktionsblöcke und beeinflusse die Datenbank in meinem Principal, die mit der Information in Temp-Tabellen gespeichert ist.
Meine wichtigsten gespeicherten aussehen wie folgt: Ist das der beste Weg, ich kann dies tun?
create proc spTest
as
/*Some processes here, temporary tables, etc...*/
begin try
begin distributed transaction
sp_nested1
sp_nested2
sp_nested3
sp_nested4
sp_nested5
sp_nested6
sp_nested7
sp_nested8
/*more processes here, updates, deletes, extra inserts, etc...*/
commit transaction
end try
begin catch
rollback transaction
DECLARE @ERROR VARCHAR(3000)
SELECT @ERROR = CONVERT(VARCHAR(3000),ERROR_MESSAGE())
RAISERROR(@ERROR,16,32)
end catch
Die Grundstruktur jedes verschachtelte gespeicherte Prozedur ähnlich ist, aber nicht nennen andere proc, nur jeder hat seinen eigenen Versuch und Catch-Blöcke.
Jede Hilfe wird sehr geschätzt werden ... Die Version Im SQL Server 2005 ist
Ihnen allen im Voraus Danke ....
Aufruf von 8 Verfahren sollte kein Problem sein, aber was Sie dabei tun, ist höchstwahrscheinlich das Problem. Sie haben nur 1% der Informationen zur Verfügung gestellt, die notwendig sind, um dies für Sie zu lösen. Zum Beispiel, wenn du mir gesagt hast, dass du ein rotes Auto mit vier Türen hast, aber nicht startet und gut läuft. Wie kann jemand ein Autoproblem mit diesen gegebenen Informationen diagnostizieren? –
+1 @KM - Was OP denkt, ist relevant für das Problem wahrscheinlich nicht, sonst würde er nicht um Hilfe auf SO bitten! :) – JNK
Nun Im ersten Absatz beschreibt, was jede verschachtelte Prozedur tut. "Jeder von ihnen verarbeitet Informationen, um einen Vergleich zwischen alten und neuen Informationen und nach den Auswirkungen der physischen Tabelle in DataBase zu erstellen." Sorry, wenn nicht klar ist ... aber ich kann nicht mehr Informationen über .. Wenn ich Ihnen sagen, dass ich Informationen aus einer Tabelle oder verschiedenen Tabellen in der Datenbank in eine temporäre Tabelle und dann bekomme ich in andere temporäre Tabelle mehr Informationen von anderen Tabellen. Weiter im nächsten Kommentar ..... – Alejandro