Uitvoering van SQL Server Integration Services-pakketten plannen in Linux met cron
van toepassing op:SQL Server- - Linux
Wanneer u SQL Server Integration Services (SSIS) en SQL Server in Windows uitvoert, kunt u de uitvoering van SSIS-pakketten automatiseren met behulp van SQL Server Agent. Wanneer u SQL Server en SSIS uitvoert op Linux, is het hulpprogramma SQL Server Agent echter niet beschikbaar om taken in Linux te plannen. In plaats daarvan gebruikt u de cron-service, die veel wordt gebruikt op Linux-platforms om de uitvoering van pakketten te automatiseren.
Dit artikel bevat voorbeelden die laten zien hoe u de uitvoering van SSIS-pakketten kunt automatiseren. De voorbeelden worden geschreven om te worden uitgevoerd op Red Hat Enterprise. De code is vergelijkbaar voor andere Linux-distributies, zoals Ubuntu.
Voorwaarden
Voordat u de cron-service gebruikt om taken uit te voeren, controleert u of deze op uw computer wordt uitgevoerd.
Gebruik de volgende opdracht om de status van de cron-service te controleren:
systemctl status crond.service
Als de service niet actief is (dat wil gezegd, wordt deze niet uitgevoerd), neemt u contact op met de beheerder om de cron-service correct in te stellen en te configureren.
Banen creëren
Een cron-taak is een taak die u kunt configureren om regelmatig met een bepaald interval uit te voeren. De taak kan net zo eenvoudig zijn als een opdracht die u normaal gesproken rechtstreeks in de console typt of als een shellscript uitvoert.
Voor eenvoudige beheer- en onderhoudsdoeleinden raden we u aan om uw opdrachten voor pakketuitvoering in een script met een beschrijvende naam te plaatsen.
Hier volgt een voorbeeld van een eenvoudig shell-script voor het uitvoeren van een pakket. Deze bevat slechts één opdracht, maar u kunt desgewenst meer opdrachten toevoegen.
# A simple shell script that contains a simple package execution command
# Script name: SSISpackageName.daily
/opt/ssis/bin/dtexec /F yourSSISpackageName.dtsx >> $HOME/tmp/out 2>&1
Taken plannen met de cron-service
Nadat u uw taken hebt gedefinieerd, kunt u plannen dat ze automatisch worden uitgevoerd met behulp van de cron-service.
Als u uw taak wilt toevoegen om cron uit te voeren, voegt u de taak toe aan het crontab-bestand. Gebruik de volgende opdracht om het crontab-bestand te openen in een editor waarin u de taak kunt toevoegen of bijwerken:
crontab -e
Als u wilt plannen dat de eerder beschreven taak dagelijks om 2:10 uur wordt uitgevoerd, voegt u de volgende regel toe aan het crontab-bestand:
# run <SSIS package name> at 2:10 AM every day
10 2 * * * $/HOME/SSIS/jobs/SSISpackageName.daily
Sla het crontab-bestand op en sluit de editor af.
Als u de indeling van de voorbeeldopdracht wilt begrijpen, raadpleegt u de informatie in de volgende sectie.
Indeling van een crontab-bestand
In de volgende afbeelding ziet u de indelingsbeschrijving van de taakregel die is toegevoegd aan het crontab-bestand.
Gebruik de volgende opdracht om een gedetailleerdere beschrijving te krijgen van de crontab-bestandsindeling:
man 5 crontab
Hier volgt een gedeeltelijk voorbeeld van de uitvoer waarmee u het voorbeeld in dit artikel kunt uitleggen: