Quantcast
Channel: SQL Server Express Forum
Viewing all articles
Browse latest Browse all 484

SET IDENTITY_INSERT verursacht eine Schleife im Aufgaben Agent.

$
0
0

Hallo liebe mit Techis,

meine Frage ist folgende.

Ich habe in eine STORED PROCEDURE für eine Aufgabe erstellt zum Testen. Also bitte nicht auf Sinnhaftigkeit der Prozedur beurteilen sondern bitte meinen bereits gefundenen Fehler analysieren. Also hier die Richtige Prozedur:

CREATE OR ALTER PROCEDURE Kopiere
@anzahl int
AS 
BEGIN

	SET IDENTITY_INSERT Artikel_Verlauf ON;
	
	INSERT INTO Artikel_Verlauf([Artikel-Nr], Artikelname, Einzelpreis)
		SELECT 
		* 
		FROM 
			Artikel_Kopie AS ak 
		ORDER BY 
			ak.Einzelpreis DESC
			OFFSET 0 ROWS FETCH NEXT @anzahl ROWS ONLY

	SET IDENTITY_INSERT Artikel_Verlauf OFF;
 
END 

und hier was ich zuerst hatte:

CREATE OR ALTER PROCEDURE Kopiere
@anzahl int
AS 
BEGIN

	SET IDENTITY_INSERT Artikel_Verlauf ON;
	
	INSERT INTO Artikel_Verlauf([Artikel-Nr], Artikelname, Einzelpreis)
		SELECT 
		* 
		FROM 
			Artikel_Kopie AS ak 
		ORDER BY 
			ak.Einzelpreis DESC
			OFFSET 0 ROWS FETCH NEXT @anzahl ROWS ONLY

	SET IDENTITY_INSERT Artikel_Verlauf ON;
 
END 

wie evtl. nicht auf den ersten Blick erkennbar habe ich beide SET IDENTITY_INSERT auf ON gestellt.

Dabei wurde beim ausführen der Aufgabe immer 64 Datensätze in die Tabelle eingefügt. Die Aufgabe hatte zum Testen einen 1 Minuten Interval. Ich weiß das die Prozedur eine maximale Verschachtelung durchgeführt hat aufgrund des 2. ON. Aber ich weiß nicht warum das passiert. Mir ist auch klar das wenn das 2. ON auf OFF stelle funktioniert alles wie es soll.  

Zusammengefasst würde ich gerne wissen warum der Fehler eine Verschachtelung verursacht, wenn doch ein ON nur in einer Session aktiv ist und danach wieder auf den Default Wert gestezt wird. IIch hoffe die Frage ist verständlich gestellt.

Gruß




Viewing all articles
Browse latest Browse all 484


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>