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 Linux rendszeren
Az SQL Server-feladatok rendszeresen ugyanazt a parancssorozatot hajtják végre az SQL Server-adatbázisban. Ez az oktatóanyag bemutatja, hogyan hozhat létre SQL Server Agent-feladatot Linuxon a Transact-SQL és az SQL Server Management Studio (SSMS) használatával.
- AZ SQL Server Agent telepítése Linux rendszeren
- Ú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-ügynökkel kapcsolatos ismert problémákért tekintse meg a Linuxon futó SQL Server: Ismert problémák című témakört.
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:
Az alábbi előfeltételek megadása nem kötelező:
- Windows rendszerű gép SSMS-sel:
- Telepítse az SQL Server Management Studiót az opcionális SSMS-lépésekhez.
AZ SQL Server-ügynök engedélyezése
Az SQL Server Agent Linuxon való használatához először engedélyeznie kell az SQL Server-ügynököt egy olyan gépen, amelyen már telepítve van az SQL Server.
Az SQL Server Agent engedélyezéséhez futtassa a következő parancsot.
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled trueIndítsa újra az SQL Servert a következő paranccsal:
sudo systemctl restart mssql-server
Jegyzet
Az SQL Server 2017 (14.x) CU 4-től kezdve az 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: SQL Server Agent telepítése 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.
Transact-SQL parancs futtatásához használja
CREATE DATABASE./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'
Munka létrehozása Transact-SQL használatával
Az alábbi lépések létrehoznak egy SQL Server Agent-feladatot 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. Például Linuxon használhatja az sqlcmd és a bcp SQL Server parancssori eszközeit vagy a SQL Server-bővítményt a Visual Studio Code-hoz. Távoli Windows Serverről lekérdezéseket is futtathat az SQL Server Management Studióban (SSMS), vagy használhatja a feladatkezelés felhasználói felületét, amelyet a következő szakaszban ismertetünk.
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 windowsos SQL Server Management Studio (SSMS) használatával távolról is létrehozhat és kezelhet feladatokat.
Indítsa el az SSMS-t Windows rendszeren, és csatlakozzon a Linux SQL Server-példányhoz. További információért lásd: Az SQL Server Management Studio használata Windows rendszeren az SQL Server Linux rendszeren történő kezeléséhez.
Ellenőrizze, hogy létrehozott-e egy
SampleDBnevű mintaadatbázist.Ellenőrizze, hogy az SQL Agent az SQL Server Agent telepítve van-e Linuxra és megfelelően van-e konfigurálva. Keresse meg az SQL Server-ügynök melletti pluszjelet az Object Explorerben. Ha az SQL Server Agent nincs engedélyezve, indítsa újra az 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:
- AZ SQL Server Agent telepítése Linux rendszeren
- 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: