Microsoft distribuerer Microsoft SQL Server 2012-rettelser som én fil, der kan downloades. Da rettelserne er kumulative, indeholder hver ny version alle de hotfixes og alle de sikkerhedsrettelser, der var inkluderet i den forrige version af SQL Server 2012-rettelsen.
Symptomer
Lad os antage, at du bruger SQL Server Agent til at køre mange SQL Server 2012 Integration Services-pakker (SSIS 2012) parallelt. Desuden er SSIS-hændelsen konfigureret til at blive logført i SSISDB- eller MSDB-tabellerne. I denne situation afsluttes udførelsen af en SSIS-pakke uventet, og den får statussen "Annulleret". Når dette sker, logføres ingen fejlmeddelelser. En lang kørsel af en SSIS-pakke, der varer 2 til 3 timer, slutter f.eks. uventet, har statussen "Annulleret" og ikke har nogen logførte fejlmeddelelser.
Bemærk
- Det forventede resultat er, at pakkeudførelsen skulle lykkes eller mislykkes med nogle fejl. Desuden bør statussen "Annulleret" kun vises for pakkeudførelser, der udtrykkeligt er stoppet.
- Dette problem er mere sandsynligt, når forekomsten af SQL Server Database Engine, hvor SSIS-hændelserne logføres, er under stressende forhold. De stressende forhold kan omfatte blokering, langsom ydeevne eller forsinkelser, der skyldes vækst i SSISDB-databasen.
Årsag
Problemet opstår, fordi der er timeout for hændelseslogføringen. Dette medfører, at SSIS-pakkeudførelsen annulleres for tidligt.
Når en SSIS-hændelse er konfigureret til at blive logført i SSISDB- eller MSDB-tabellerne, skriver en insert-kommando loghændelsen og ydeevnestatistik til disse tabeller internt. Når der er mange parallelle udførelser af SSIS-pakker, udføres mange parallelle Indsæt-kommandoer. Derfor er timeoutfejlen mere tilbøjelig til at opstå og forårsage det problem, der er beskrevet i afsnittet "Symptomer".
Løsning
Når du har anvendt rettelsen, øges timeouttiden for kommandoen Indsæt fra 30 sekunder til 120 sekunder. Hvis timeout opstår efter en forsinkelse på 120 sekunder, annulleres SSIS-pakkeudførelsen ikke. I stedet springes de udestående loghændelser over for at undgå pakkefejl.
Oplysninger om kumulativ opdatering
Samlet opdateringspakke 3 til SQL Server 2012
Rettelsen til dette problem blev først udgivet i den samlede opdatering 3. Få flere oplysninger om, hvordan du henter denne kumulative opdateringspakke til SQL Server 2012, ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
2723749 Samlet opdatering 3 til SQL Server 2012Bemærk Da builds er kumulative, indeholder hver ny rettelsesversion alle de hotfixes og sikkerhedsrettelser, som fulgte med den forrige version af programrettelsen til SQL Server 2012. Vi anbefaler, at du overvejer at anvende den nyeste rettelsesversion, der indeholder dette hotfix. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
2692828 De SQL Server 2012-builds, der blev udgivet efter SQL Server 2012 blev udgivet
Status
Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Løsning
Du kan løse problemet ved at benytte en af følgende metoder:
- Prøv at køre færre SSIS-pakker eller færre opgaver parallelt.
- Prøv at mindske parameteren for logføringsniveau, når du kører en pakke fra Management Studio eller fra et SQL Server Agent-job. Hvis du f.eks. bruger detaljeret logføring, kan du angive parameteren Logføringsniveau til Grundlæggende eller Ingen. Hvis du bruger logføringsindstillingerne fra indstillingerne for SSIS-pakken i SQL Server Data Tools Designer, kan du logføre hændelserne i en tekstfil i stedet for i SSISDB- eller MSDB-databasetabellerne.