Delen via


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.

Schermopname van de indelingsbeschrijving voor een crontab-bestandsvermelding.

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:

Schermopname van een gedetailleerde gedeeltelijke beschrijving van crontab-indeling.