sql >> Database >  >> RDS >> Sqlserver

Taken maken in de SQL Server Express-editie

SQL Server Express bevat geen SQL Server Agent, dus het is niet mogelijk om zomaar SQL Agent-taken aan te maken.

Wat u kunt doen is:
U kunt taken "handmatig" maken door batchbestanden en SQL-scriptbestanden te maken en deze uit te voeren via Windows Taakplanner.
U kunt bijvoorbeeld een back-up van uw database maken met twee bestanden zoals dit:

backup.bat:

sqlcmd -i backup.sql

backup.sql:

backup database TeamCity to disk = 'c:\backups\MyBackup.bak'

Plaats gewoon beide bestanden in dezelfde map en voer het batchbestand uit via Windows Taakplanner.

Het eerste bestand is slechts een Windows-batchbestand dat het hulpprogramma sqlcmd aanroept en een SQL-scriptbestand doorgeeft.
Het SQL-scriptbestand bevat T-SQL. In mijn voorbeeld is het slechts één regel om een ​​back-up van een database te maken, maar u kunt elke T-SQL erin plaatsen. U kunt bijvoorbeeld wat UPDATE . doen in plaats daarvan vragen.

Als de taken die u wilt maken voor back-ups, indexonderhoud of integriteitscontroles zijn, kunt u ook de uitstekende onderhoudsoplossing van Ola Hallengren gebruiken.

Het bestaat uit een aantal opgeslagen procedures (en SQL Agent-taken voor niet-Express-edities van SQL Server), en in de FAQ is er een sectie over hoe de taken op SQL Server Express moeten worden uitgevoerd:

Hoe ga ik aan de slag met de SQL Server Maintenance Solution op SQL Server Express?

SQL Server Express heeft geen SQL Server Agent. Daarom moet de uitvoering van de opgeslagen procedures worden gepland met behulp van cmd-bestanden en Windows Scheduled Tasks. Volg deze stappen.

SQL Server Express heeft geen SQL Server Agent. Daarom moet de uitvoering van de opgeslagen procedures worden gepland met behulp van cmd-bestanden en Windows Scheduled Tasks. Volg deze stappen.

  1. Download MaintenanceSolution.sql.

  2. Voer MaintenanceSolution.sql uit. Dit script creëert de opgeslagen procedures die je nodig hebt.

  3. Maak cmd-bestanden om de opgeslagen procedures uit te voeren; bijvoorbeeld:
    sqlcmd -E -S .\SQLEXPRESS -d master -Q "VOER dbo.DatabaseBackup uit @Databases ='USER_DATABASES', @Directory =N'C:\Backup', @BackupType ='FULL'" -b -o C:\Log\DatabaseBackup.txt

  4. Maak in Windows Geplande taken taken om de cmd-bestanden aan te roepen.

  5. Plan de taken.

  6. Start de taken en controleer of ze met succes worden voltooid.



  1. Sorteer op kolom ASC, maar eerst NULL-waarden?

  2. Implementeer MySQL relationele databases op Ubuntu 12.04 (Precieze Pangolin)

  3. Hoe maak je een PL/SQL-functie in Oracle Database?

  4. Gebruik IDENT_CURRENT() om de huidige identiteitswaarde op een identiteitskolom in SQL Server te retourneren