Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: :SQL Server Linuxon
SQL Server feladatok a parancsok sorozatának rendszeres végrehajtására szolgálnak a SQL Server adatbázisban. Ez az oktatóanyag bemutatja, hogyan hozhat létre SQL Server Agent feladatot Linuxon Transact-SQL és SQL Server Management Studio (SSMS) használatával.
- SQL Server Agent telepítése Linuxon
- Új feladat létrehozása napi adatbázis-biztonsági mentések elvégzéséhez
- A feladat ütemezése és futtatása
- Hajtsa végre ugyanazokat a lépéseket az SSMS-ben (nem kötelező)
A Linuxon futó SQL Server Agent ismert problémáiért lásd: SQL Server on Linux: Ismert problémák.
Előfeltételek
Az oktatóanyag elvégzéséhez a következő előfeltételek szükségesek:
Linux rendszerű gép a következő előfeltételekkel:
- Gyors útmutató: Telepítse a SQL Server és hozzon létre egy adatbázist a Red Hat Enterprise Linuxon
- Gyors útmutató: Telepítse a SQL Server és hozzon létre egy adatbázist a SUSE Linux Enterprise Serveren
- Gyors kezdés: Telepítse az SQL Servert, és hozzon létre egy adatbázist Ubuntu-n parancssori eszközökkel.
Jegyzet
A 2025-ös (17.x) SQL Server-tól kezdve a SUSE Linux Enterprise Server (SLES) nem támogatott.
Az alábbi előfeltételek megadása nem kötelező:
- Windows SSMS-sel rendelkező gép:
- Install SQL Server Management Studio választható SSMS-lépésekhez.
SQL Server Agent engedélyezése
Ha linuxos SQL Server Agent szeretne használni, először engedélyeznie kell a SQL Server Agent egy olyan gépen, amelyen már telepítve van SQL Server.
A SQL Server Agent engedélyezéséhez futtassa a következő parancsot.
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled trueIndítsa újra SQL Server a következő paranccsal:
sudo systemctl restart mssql-server
Jegyzet
A 2017-SQL Server (14.x) CU 4-től kezdve a SQL Server Agent a mssql-server csomag része, és alapértelmezés szerint le van tiltva. A CU 4 előtt beállított ügynökkel kapcsolatban lásd: Install SQL Server Agent Linuxon.
Mintaadatbázis létrehozása
Az alábbi lépésekkel hozzon létre egy SampleDBnevű mintaadatbázist. Ez az adatbázis a napi biztonsági mentési feladathoz használatos.
Linux-gépen nyisson meg egy bash terminál munkamenetet.
A sqlcmd használatával futtassa a Transact-SQL
CREATE DATABASEparancsot./opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'CREATE DATABASE SampleDB'Ellenőrizze, hogy létre van-e hozva az adatbázis a kiszolgálón lévő adatbázisok listázásával.
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'SELECT name FROM sys.databases'
Feladat vagy munka létrehozása Transact-SQL segítségével
Az alábbi lépések SQL Server Agent feladatot hoznak létre Linuxon Transact-SQL parancsokkal. A feladat a mintaadatbázis napi biztonsági mentését futtatja, SampleDB.
Borravaló
Ezeket a parancsokat bármely T-SQL-ügyfél használatával futtathatja. Linux-on például használhatja az sqlcmd és bcp SQL Server parancssori eszközöket, vagy a SQL Server-bővítményt a Visual Studio Code-hoz. Egy távoli Windows Serverről futtathat lekérdezéseket az SQL Server Management Studio (SSMS)-ben, vagy használhatja a felhasználói felületet a feladatkezeléshez, amely a következő szakaszban van ismertetve.
A sp_add_job használatával hozzon létre egy
Daily SampleDB Backupnevű feladatot.-- 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'; GOHívja meg sp_add_jobstep, hogy hozzon létre egy feladatlépést, amely létrehozza a
SampleDBadatbázis biztonsági másolatát.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; GOEzután hozzon létre egy napi ütemezést a feladathoz a sp_add_schedule.
-- Creates a schedule called 'Daily' EXECUTE dbo.sp_add_schedule @schedule_name = N'Daily SampleDB', @freq_type = 4, @freq_interval = 1, @active_start_time = 233000; USE msdb; GOA sp_attach_schedule használatával csatolja a munkafeladat ütemezését a munkafeladathoz.
-- Sets the 'Daily' schedule to the 'Daily SampleDB Backup' Job EXECUTE sp_attach_schedule @job_name = N'Daily SampleDB Backup', @schedule_name = N'Daily SampleDB'; GOA sp_add_jobserver használatával rendelje hozzá a feladatot egy célkiszolgálóhoz. Ebben a példában a cél a helyi kiszolgáló.
EXECUTE dbo.sp_add_jobserver @job_name = N'Daily SampleDB Backup', @server_name = N'(local)'; GOIndítsd el a feladatot sp_start_job.
EXECUTE dbo.sp_start_job N' Daily SampleDB Backup'; GO
Feladat létrehozása SSMS-sel
A Windows SQL Server Management Studio (SSMS) használatával távolról is létrehozhat és kezelhet feladatokat.
Indítsa el az SSMS-t Windows, és csatlakozzon a Linux-SQL Server-példányhoz. További információért lásd: Használja az SQL Server Management Studio-t Windows rendszeren a SQL Server Linux-on történő kezeléséhez.
Ellenőrizze, hogy létrehozott-e egy
SampleDBnevű mintaadatbázist.Ellenőrizze, hogy az SQL Agent Install SQL Server Agent on Linux és megfelelően lett-e konfigurálva. Keresse meg az SQL Server Agent melletti pluszjelet az Objektumkezelőben. Ha SQL Server Agent nincs engedélyezve, indítsa újra a mssql-server szolgáltatást Linuxon.
Hozzon létre egy új feladatot.
Adjon nevet a munkának és hozza létre a munkafolyamat lépését.
Adja meg, hogy melyik alrendszert szeretné használni, és mit kell tennie a feladatlépésnek.
Hozzon létre egy új feladatütemezést.
Indítsa el a munkáját.
Következő lépés
Ebben az oktatóanyagban megtanulta, hogyan:
- SQL Server Agent telepítése Linuxon
- Feladatok létrehozása Transact-SQL és rendszer által tárolt eljárások használatával
- Napi adatbázis-biztonsági mentést végző feladat létrehozása
- SSMS felhasználói felület használata feladatok létrehozásához és kezeléséhez
Ezután ismerkedjen meg a feladatok létrehozásának és kezelésének egyéb képességeivel: