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 példát ad arra, hogyan lehet SQL Server Agent feladatot létrehozni Linuxon mind a Transact-SQL (T-SQL), mind az SQL Server Management Studio (SSMS) használatával.

  • Az SQL Server Agent engedélyezé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 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 4. kumulatív frissítés előtti SQL Serveren futó SQL Server Agenttel kapcsolatban lásd: Install SQL Server Agent on Linux.

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. Használd sqlcmd T-SQL CREATE DATABASE parancs futtatására.

    /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

A következő lépések létrehoznak egy SQL Server Agent feladatot Linuxon T-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. Linuxon például használhatja a Az sqlcmd és a bcp SQL Server parancssori eszközök telepítése Linuxra vagy a MSSQL-bővítmény a Visual Studio Code-hoz lehetőséget. Egy távoli Windows Server-ről lefuttathatod a lekérdezéseket az SQL Server Management Studio-ban (SSMS) is, vagy használhatod az SSMS interfészt a feladatkezeléshez, amit a következő szakaszban részleteznek.

  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 SampleDB'
    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 SampleDB' 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őrizd, hogy az SQL Server Agent helyesen van telepítve és konfigurálva. Keresd a plusz jelet az SQL Server Agent mellett az Object Explorer-ben. Ha az SQL Server Agent nincs engedélyezve, próbáld meg újraindítani 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-parancsa BACKUPDATABASE 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:

  • Az SQL Server Agent engedélyezése Linux rendszeren
  • T-SQL-t és rendszerre tárolt eljárásokat használj a feladatok létrehozásához
  • 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: