Newbie: Anlegen einer gespeicherten Prozedur dauert ewig

30/01/2008 - 14:49 von arno | Report spam
Hallo,

SQL Server 2000, SBS 2003

ich habe eine umfassende gespeicherte Prozedur, zugegeben, die Prozedur ist
recht lang, aber das Abspeichern/Anlegen kann doch nicht zw. 30 und 45 min
dauern, oder? Mache ich was falsch?

Viele Grüsse

arno

PS: hier ist die Prozedur:


SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
GO

Aktionen

ALTER PROCEDURE sp_ImportTabellen AS

INSERT INTO _IMPORTLOG SELECT 'START' Tabelle, 0 FehlerNR, 0 Anzahl,
getdate() Zeit


TRUNCATE TABLE ADR
INSERT INTO ADR SELECT * FROM LFAM...ADR
INSERT INTO _IMPORTLOG SELECT 'ADR' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM ADR

TRUNCATE TABLE ANSPR
INSERT INTO ANSPR SELECT * FROM LFAM...ANSPR
INSERT INTO _IMPORTLOG SELECT 'ANSPR' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM ANSPR

TRUNCATE TABLE BWADETAIL
INSERT INTO BWADETAIL SELECT * FROM LFAM...BWADETAIL
INSERT INTO _IMPORTLOG SELECT 'BWADETAIL' Tabelle, @@error FehlerNR,
count(*) Anzahl, getdate() Zeit FROM BWADETAIL

TRUNCATE TABLE KOA
INSERT INTO KOA SELECT * FROM LFAM...KOA
INSERT INTO _IMPORTLOG SELECT 'KOA' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM KOA

TRUNCATE TABLE KOST
INSERT INTO KOST SELECT * FROM LFAM...KOST
INSERT INTO _IMPORTLOG SELECT 'KOST' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM KOST

TRUNCATE TABLE KOSTB
INSERT INTO KOSTB SELECT * FROM LFAM...KOSTB
INSERT INTO _IMPORTLOG SELECT 'KOSTB' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM KOSTB

TRUNCATE TABLE KTO
INSERT INTO KTO SELECT * FROM LFAM...KTO
INSERT INTO _IMPORTLOG SELECT 'KTO' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM KTO

TRUNCATE TABLE KTR
INSERT INTO KTR SELECT * FROM LFAM...KTR
INSERT INTO _IMPORTLOG SELECT 'KTR' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM KTR

TRUNCATE TABLE LIEFKTO
INSERT INTO LIEFKTO SELECT * FROM LFAM...LIEFKTO
INSERT INTO _IMPORTLOG SELECT 'LIEFKTO' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM LIEFKTO

TRUNCATE TABLE LVVERW
INSERT INTO LVVERW SELECT * FROM LFAM...LVVERW
INSERT INTO _IMPORTLOG SELECT 'LVVERW' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM LVVERW

TRUNCATE TABLE LVVERWADR
INSERT INTO LVVERWADR SELECT * FROM LFAM...LVVERWADR
INSERT INTO _IMPORTLOG SELECT 'LVVERWADR' Tabelle, @@error FehlerNR,
count(*) Anzahl, getdate() Zeit FROM LVVERWADR

TRUNCATE TABLE LVVERWSUMMEN
INSERT INTO LVVERWSUMMEN SELECT * FROM LFAM...LVVERWSUMMEN
INSERT INTO _IMPORTLOG SELECT 'LVVERWSUMMEN' Tabelle, @@error FehlerNR,
count(*) Anzahl, getdate() Zeit FROM LVVERWSUMMEN

TRUNCATE TABLE MA
INSERT INTO MA SELECT * FROM OPENQUERY(LFAM, 'SELECT * FROM MA')
INSERT INTO _IMPORTLOG SELECT 'MA' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM MA

TRUNCATE TABLE PKTO
INSERT INTO PKTO SELECT * FROM LFAM...PKTO
INSERT INTO _IMPORTLOG SELECT 'PKTO' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM PKTO

TRUNCATE TABLE SELKRIT
INSERT INTO SELKRIT SELECT * FROM LFAM...SELKRIT
INSERT INTO _IMPORTLOG SELECT 'SELKRIT' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM SELKRIT




TRUNCATE TABLE BUCHSA
INSERT INTO BUCHSA SELECT * FROM LFAM...BUCHSA
INSERT INTO _IMPORTLOG SELECT 'BUCHSA' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM BUCHSA

TRUNCATE TABLE EINZEL
INSERT INTO EINZEL SELECT * FROM LFAM...EINZEL
INSERT INTO _IMPORTLOG SELECT 'EINZEL' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM EINZEL

TRUNCATE TABLE OPOST
INSERT INTO OPOST SELECT * FROM LFAM...OPOST
INSERT INTO _IMPORTLOG SELECT 'OPOST' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM OPOST

TRUNCATE TABLE OPOSTHIST
INSERT INTO OPOSTHIST SELECT * FROM LFAM...OPOSTHIST
INSERT INTO _IMPORTLOG SELECT 'OPOSTHIST' Tabelle, @@error FehlerNR,
count(*) Anzahl, getdate() Zeit FROM OPOSTHIST




TRUNCATE TABLE TKOST
INSERT INTO TKOST SELECT * FROM VWKOST
INSERT INTO _IMPORTLOG SELECT 'TKOST' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM TKOST

TRUNCATE TABLE TLVVERW
INSERT INTO TLVVERW SELECT * FROM VWLVVERW
INSERT INTO _IMPORTLOG SELECT 'TLVVERW' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM TLVVERW

TRUNCATE TABLE TBUCHSA
INSERT INTO TBUCHSA SELECT * FROM VWBUCHSA
INSERT INTO _IMPORTLOG SELECT 'TBUCHSA' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM TBUCHSA

TRUNCATE TABLE TKTO
INSERT INTO TKTO SELECT * FROM VWKTO
INSERT INTO _IMPORTLOG SELECT 'TKTO' Tabelle, @@error FehlerNR, count(*)
Anzahl, getdate() Zeit FROM TKTO



TRUNCATE TABLE TPALOFAMDIMENSIONEN

INSERT INTO TPALOFAMDIMENSIONEN SELECT * FROM VWPALOAUSSENDIENST
INSERT INTO _IMPORTLOG SELECT 'TPALOFAMDIMENSIONEN' Tabelle, @@error
FehlerNR, count(*) Anzahl, getdate() Zeit FROM TPALOFAMDIMENSIONEN
INSERT INTO TPALOFAMDIMENSIONEN SELECT * FROM VWPALOBAULEITER
INSERT INTO _IMPORTLOG SELECT 'TPALOFAMDIMENSIONEN' Tabelle, @@error
FehlerNR, count(*) Anzahl, getdate() Zeit FROM TPALOFAMDIMENSIONEN
INSERT INTO TPALOFAMDIMENSIONEN SELECT * FROM VWPALOBAUSTELLENGEBIET
INSERT INTO _IMPORTLOG SELECT 'TPALOFAMDIMENSIONEN' Tabelle, @@error
FehlerNR, count(*) Anzahl, getdate() Zeit FROM TPALOFAMDIMENSIONEN
INSERT INTO TPALOFAMDIMENSIONEN SELECT * FROM VWPALOGEBÄUDEART
INSERT INTO _IMPORTLOG SELECT 'TPALOFAMDIMENSIONEN' Tabelle, @@error
FehlerNR, count(*) Anzahl, getdate() Zeit FROM TPALOFAMDIMENSIONEN
INSERT INTO TPALOFAMDIMENSIONEN SELECT * FROM VWPALOPRODUKTGRUPPE
INSERT INTO _IMPORTLOG SELECT 'TPALOFAMDIMENSIONEN' Tabelle, @@error
FehlerNR, count(*) Anzahl, getdate() Zeit FROM TPALOFAMDIMENSIONEN
INSERT INTO TPALOFAMDIMENSIONEN SELECT * FROM VWPALORISIKOKLASSE
INSERT INTO _IMPORTLOG SELECT 'TPALOFAMDIMENSIONEN' Tabelle, @@error
FehlerNR, count(*) Anzahl, getdate() Zeit FROM TPALOFAMDIMENSIONEN
INSERT INTO TPALOFAMDIMENSIONEN SELECT * FROM VWPALOSTAAT
INSERT INTO _IMPORTLOG SELECT 'TPALOFAMDIMENSIONEN' Tabelle, @@error
FehlerNR, count(*) Anzahl, getdate() Zeit FROM TPALOFAMDIMENSIONEN
INSERT INTO TPALOFAMDIMENSIONEN SELECT * FROM VWPALOSTANDORT
INSERT INTO _IMPORTLOG SELECT 'TPALOFAMDIMENSIONEN' Tabelle, @@error
FehlerNR, count(*) Anzahl, getdate() Zeit FROM TPALOFAMDIMENSIONEN
INSERT INTO TPALOFAMDIMENSIONEN SELECT * FROM VWPALOSTATUS
INSERT INTO _IMPORTLOG SELECT 'TPALOFAMDIMENSIONEN' Tabelle, @@error
FehlerNR, count(*) Anzahl, getdate() Zeit FROM TPALOFAMDIMENSIONEN
INSERT INTO TPALOFAMDIMENSIONEN SELECT * FROM VWPALOSUBVERLEGER
INSERT INTO _IMPORTLOG SELECT 'TPALOFAMDIMENSIONEN' Tabelle, @@error
FehlerNR, count(*) Anzahl, getdate() Zeit FROM TPALOFAMDIMENSIONEN
INSERT INTO TPALOFAMDIMENSIONEN SELECT * FROM VWPALOVIRTIC
INSERT INTO _IMPORTLOG SELECT 'TPALOFAMDIMENSIONEN' Tabelle, @@error
FehlerNR, count(*) Anzahl, getdate() Zeit FROM TPALOFAMDIMENSIONEN



INSERT INTO _IMPORTLOG SELECT 'ENDE' Tabelle, 0 FehlerNR, 0 Anzahl,
getdate() Zeit
GO
 

Lesen sie die antworten

#1 Christa Kurschat
30/01/2008 - 16:58 | Warnen spam
Hallo arno,

"arno" schrieb im Newsbeitrag
news:
Hallo,

SQL Server 2000, SBS 2003

ich habe eine umfassende gespeicherte Prozedur, zugegeben, die Prozedur


ist
recht lang, aber das Abspeichern/Anlegen kann doch nicht zw. 30 und 45 min
dauern, oder? Mache ich was falsch?




Groß ist die Prozedur nicht, ich habe größere ;-)

Was ich mir vorstellen könnte:
Du greifst auf einen Verbindungsserver durch. Ev. dauert es so lange, bis
die select-Liste aktualisiert wurde.
Nebenbei möchte ich Dich vor einem
insert into ...
select * from ...
warnen. Select- und Einfügelisten sind weniger fehleranfàllig und es dauert
AFAIK nicht so lange bei dem Speichern der Proc.

Andere Möglichkeit:
eine oder mehrere Tabellen sind bei anderen Programmen in Verarbeitung und
dadurch gelockt. Sehr gerne macht das z.B. Access.

Gruß
Christa
Access-FAQ: http://www.donkarl.com
SQL-Server-FAQ: www.sqlfaq.de
InsideSql: www.insidesql.de
Suchen in den Newsgroups:
http://groups.google.de/advanced_gr...p;ie=UTF-8

Ähnliche fragen