SQL Server Agent-feladatok létrehozása és futtatása Linuxon

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:

Az alábbi előfeltételek megadása nem kötelező:

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.

  1. A SQL Server Agent engedélyezéséhez futtassa a következő parancsot.

    sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
    
  2. Indí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.

  1. Linux-gépen nyisson meg egy bash terminál munkamenetet.

  2. A sqlcmd használatával futtassa a Transact-SQL CREATE DATABASE parancsot.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'CREATE DATABASE SampleDB'
    
  3. 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.

  1. 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';
    GO
    
  2. Hívja meg sp_add_jobstep, hogy hozzon létre egy feladatlépést, amely létrehozza a SampleDB adatbá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;
    GO
    
  3. Ezutá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;
    GO
    
  4. A 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';
    GO
    
  5. A 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)';
    GO
    
  6. Indí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.

  1. 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.

  2. Ellenőrizze, hogy létrehozott-e egy SampleDBnevű mintaadatbázist.

    SampleDB-adatbázis létrehozásának képernyőképe.

  3. 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.

    Képernyőkép mutatja, hogyan lehet ellenőrizni, hogy a SQL Server Agent telepítve lett.

  4. Hozzon létre egy új feladatot.

    Új feladat létrehozását bemutató képernyőkép.

  5. Adjon nevet a munkának és hozza létre a munkafolyamat lépését.

    Feladatlépés létrehozását bemutató képernyőkép.

  6. Adja meg, hogy melyik alrendszert szeretné használni, és mit kell tennie a feladatlépésnek.

    Képernyőkép az SSMS Új feladat párbeszédpaneléről, amelyen a Lépések lap látható, és az Új gomb ki van emelve a feladatlépés létrehozásához.

    Képernyőkép az Új feladat lépése párbeszédpanelről, amelyen a SampleDB T-SQL BACKUP DATABASE parancsa látható, és az OK gomb ki van emelve.

  7. Hozzon létre egy új feladatütemezést.

    Képernyőkép az Új feladat párbeszédpanelről, amelyen az Ütemezés lehetőség van kiemelve, és az Új lehetőség ki van emelve.

    Képernyőkép az Új feladat párbeszédpanelről, amelyen az OK lehetőség ki van hívva.

  8. Indítsa el a munkáját.

    Képernyőkép, amely bemutatja, hogyan lehet elindítani a SQL Server Agent feladatot.

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: