Hallo Zusammen,
im Rahmen einer Datenbankmigration habe ich das Problem, dass in einem Job Tabellen gefüllt werden sollen (mit Hilfe eines Cursors)- siehe Code Beispiel vom MS SQL Servers 2005 auf den MS SQL Server 2008. dieser Job läuft auf dem alten System max. 20 min. Nach Übernahme auf den neuen Server dauert er länger als 12 Stunden. Trotzdem die Tabellen 1:1 übernommen wurden, sehen die Ablaufpläne unterschiedlich aus.
Weiß hier jemand, wie man das anpassen/ändern kann ?
Beste Grüße
im Rahmen einer Datenbankmigration habe ich das Problem, dass in einem Job Tabellen gefüllt werden sollen (mit Hilfe eines Cursors)- siehe Code Beispiel vom MS SQL Servers 2005 auf den MS SQL Server 2008. dieser Job läuft auf dem alten System max. 20 min. Nach Übernahme auf den neuen Server dauert er länger als 12 Stunden. Trotzdem die Tabellen 1:1 übernommen wurden, sehen die Ablaufpläne unterschiedlich aus.
Weiß hier jemand, wie man das anpassen/ändern kann ?
Beste Grüße
Code:
DECLARE @V_CR_Number char(11);
DECLARE @V_CR_Subnumber char(4);
DECLARE @V_Count int;
DECLARE @V_n Int -- Org_ID
-- CR
DELETE [OSW].[tbl_CR_Involvement_Analysis_Test]
set @V_n = 0
DECLARE curCR_OSW_Involvement CURSOR
FORWARD_ONLY
FORselect CR_Number, CR_Subnumber from DWH.tbl_CR ORDER BY CR_Number, CR_Subnumber;
OPEN curCR_OSW_Involvement;
FETCH NEXT FROM curCR_OSW_Involvement
INTO @V_CR_Number, @V_CR_Subnumber;
WHILE@@FETCH_STATUS = 0
BEGIN
set @V_n = 0
WHILE @V_n < 120 -- zur Zeit Org_ID 1 bis 53
BEGIN
set @V_n = @V_n + 1;
SELECT @V_Count = COUNT(*) FROM [OSW].[tbl_CR_Involvement_Analysis] WHERE
[CR_Number] = @V_CR_Number AND [CR_Subnumber] = @V_CR_Subnumber
AND [Org_ID] = @V_n;
IF @V_Count = 0
BEGIN
INSERT INTO [OSW].[tbl_CR_Involvement_Analysis_Test]
([active]
,[CR_Number]
,[CR_Subnumber]
,[Org_ID]
,[Ins_Date]
,[Ins_User])
VALUES(1, @V_CR_Number, @V_CR_Subnumber, @V_n, GETDATE(), 'Script')
END
END
FETCH NEXT FROM curCR_OSW_Involvement
INTO @V_CR_Number, @V_CR_Subnumber;
END;
DEALLOCATE curCR_OSW_Involvement;