Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Applies to:SQL Server op Linux
SQL Server taken worden gebruikt om regelmatig dezelfde reeks opdrachten uit te voeren in uw SQL Server-database. Deze tutorial geeft een voorbeeld van hoe je een SQL Server Agent taak op Linux kunt maken met zowel Transact-SQL (T-SQL) als SQL Server Management Studio (SSMS).
- Schakel SQL Server Agent op Linux in
- Een nieuwe taak maken om dagelijkse databaseback-ups uit te voeren
- De taak plannen en uitvoeren
- Voer dezelfde stappen uit in SSMS (optioneel)
Zie SQL Server on Linux: Bekende problemen voor bekende problemen met SQL Server Agent in Linux.
Voorwaarden
De volgende vereisten zijn vereist om deze zelfstudie te voltooien:
Linux-computer met de volgende vereisten:
- Quickstart: Installeer SQL Server en maak een database op Red Hat Enterprise Linux
- Quickstart: Installeer SQL Server en maak een database op SUSE Linux Enterprise Server
- Quickstart: Installeer SQL Server en maak een database op Ubuntu met opdrachtregelprogramma's.
Notitie
Vanaf SQL Server 2025 (17.x) wordt SUSE Linux Enterprise Server (SLES) niet ondersteund.
De volgende vereisten zijn optioneel:
- Windows machine met SSMS:
- Install SQL Server Management Studio voor optionele SSMS-stappen.
SQL Server Agent inschakelen
Als u SQL Server Agent in Linux wilt gebruiken, moet u eerst SQL Server Agent inschakelen op een computer waarop al SQL Server is geïnstalleerd.
Voer de volgende opdracht uit om SQL Server Agent in te schakelen.
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled trueStart SQL Server opnieuw met de volgende opdracht:
sudo systemctl restart mssql-server
Notitie
Vanaf SQL Server 2017 (14.x) CU 4 is SQL Server Agent opgenomen in het mssql-server-pakket en is deze standaard uitgeschakeld. Voor SQL Server Agent op SQL Server vóór CU 4, zie Install SQL Server Agent on Linux.
Een voorbeelddatabase maken
Gebruik de volgende stappen om een voorbeelddatabase met de naam SampleDBte maken. Deze database wordt gebruikt voor de dagelijkse back-uptaak.
Open een bash-terminalsessie op uw Linux-computer.
Gebruik
sqlcmdom een T-SQL-commandoCREATE DATABASEuit te voeren./opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'CREATE DATABASE SampleDB'Controleer of de database is gemaakt door de databases op uw server te vermelden.
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'SELECT name FROM sys.databases'
Een taak maken met Transact-SQL
De volgende stappen maken een SQL Server Agent-taak op Linux met T-SQL-commando's. De taak voert een dagelijkse back-up uit van de voorbeelddatabase, SampleDB.
Aanbeveling
U kunt elke T-SQL-client gebruiken om deze opdrachten uit te voeren. U kunt bijvoorbeeld op Linux de sqlcmd- en bcp-SQL Server-opdrachtregelhulpprogramma's op Linux installeren of de MSSQL-extensie voor Visual Studio Code gebruiken. Vanaf een externe Windows Server kun je ook queries uitvoeren in SQL Server Management Studio (SSMS) of de SSMS-interface gebruiken voor taakbeheer, wat in de volgende sectie wordt beschreven.
Gebruik sp_add_job om een taak met de naam
Daily SampleDB Backupte maken.-- Adds a new job executed by the SQLServerAgent service -- called 'Daily SampleDB Backup' USE msdb; GO EXECUTE dbo.sp_add_job @job_name = N'Daily SampleDB Backup'; GORoep sp_add_jobstep aan om een taakstap te maken waarmee een back-up van de
SampleDB-database wordt gemaakt.EXECUTE sp_add_jobstep @job_name = N'Daily SampleDB Backup', @step_name = N'Backup database', @subsystem = N'TSQL', @command = N'BACKUP DATABASE SampleDB TO DISK = N''/var/opt/mssql/data/SampleDB.bak'' WITH NOFORMAT, NOINIT, NAME = ''SampleDB-full'', SKIP, NOREWIND, NOUNLOAD, STATS = 10', @retry_attempts = 5, @retry_interval = 5; GOMaak vervolgens een dagelijkse planning voor uw taak met sp_add_schedule.
-- Creates a schedule called 'Daily SampleDB' EXECUTE dbo.sp_add_schedule @schedule_name = N'Daily SampleDB', @freq_type = 4, @freq_interval = 1, @active_start_time = 233000; USE msdb; GOKoppel de taakplanning aan de taak met sp_attach_schedule.
-- Sets the 'Daily SampleDB' schedule to the 'Daily SampleDB Backup' job EXECUTE sp_attach_schedule @job_name = N'Daily SampleDB Backup', @schedule_name = N'Daily SampleDB'; GOGebruik sp_add_jobserver om de taak toe te wijzen aan een doelserver. In dit voorbeeld is het doel de lokale server.
EXECUTE dbo.sp_add_jobserver @job_name = N'Daily SampleDB Backup', @server_name = N'(local)'; GOStart de taak met sp_start_job.
EXECUTE dbo.sp_start_job N'Daily SampleDB Backup'; GO
Een taak maken met SSMS
U kunt taken ook op afstand maken en beheren met behulp van SQL Server Management Studio (SSMS) op Windows.
Start SSMS op Windows en maak verbinding met uw Linux SQL Server-exemplaar. Zie Gebruik SQL Server Management Studio op Windows voor het beheren van SQL Server on Linux voor meer informatie.
Controleer of u een voorbeelddatabase hebt gemaakt met de naam
SampleDB.Controleer of SQL Server Agent correct is geïnstalleerd en geconfigureerd. Zoek naar het plusteken naast SQL Server Agent in Objectverkenner. Als SQL Server Agent niet is ingeschakeld, start u de service mssql-server opnieuw op Linux.
Maak een nieuwe taak.
Geef uw taak een naam en maak uw taakstap.
Geef op welk subsysteem u wilt gebruiken en wat de taakstap moet doen.
Maak een nieuw taakschema.
Start uw werk.
Volgende stap
In deze zelfstudie hebt u het volgende geleerd:
- SQL Server Agent inschakelen op Linux
- Gebruik T-SQL en systemstored procedures om jobs te maken
- Een taak maken die dagelijkse databaseback-ups uitvoert
- SSMS-gebruikersinterface gebruiken om taken te maken en te beheren
Verken vervolgens andere mogelijkheden voor het maken en beheren van taken: