sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man skapar jobb i SQL Server Express-utgåvan

SQL Server Express inkluderar inte SQL Server Agent, så det är inte möjligt att bara skapa SQL Agent-jobb.

Vad du kan göra är:
Du kan skapa jobb "manuellt" genom att skapa batchfiler och SQL-skriptfiler och köra dem via Windows Task Scheduler.
Du kan till exempel säkerhetskopiera din databas med två filer som t.ex. detta:

backup.bat:

sqlcmd -i backup.sql

backup.sql:

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

Lägg bara båda filerna i samma mapp och kör batchfilen via Windows Task Scheduler.

Den första filen är bara en Windows-batchfil som anropar verktyget sqlcmd och skickar en SQL-skriptfil.
SQL-skriptfilen innehåller T-SQL. I mitt exempel är det bara en rad för att säkerhetskopiera en databas, men du kan lägga in vilken T-SQL som helst. Du kan till exempel göra någon UPDATE frågor istället.

Om jobben du vill skapa är för säkerhetskopiering, indexunderhåll eller integritetskontroller kan du också använda den utmärkta underhållslösningen av Ola Hallengren.

Den består av ett gäng lagrade procedurer (och SQL Agent-jobb för icke-Express-versioner av SQL Server), och i FAQen finns det ett avsnitt om hur man kör jobben på SQL Server Express:

Hur kommer jag igång med SQL Server Maintenance Solution på SQL Server Express?

SQL Server Express har ingen SQL Server Agent. Därför måste exekveringen av de lagrade procedurerna schemaläggas med hjälp av cmd-filer och Windows Schemalagda uppgifter. Följ dessa steg.

SQL Server Express har ingen SQL Server Agent. Därför måste exekveringen av de lagrade procedurerna schemaläggas med hjälp av cmd-filer och Windows Schemalagda uppgifter. Följ dessa steg.

  1. Ladda ner MaintenanceSolution.sql.

  2. Kör MaintenanceSolution.sql. Det här skriptet skapar de lagrade procedurerna som du behöver.

  3. Skapa cmd-filer för att utföra de lagrade procedurerna; till exempel:
    sqlcmd -E -S .\SQLEXPRESS -d master -Q "EXECUTE dbo.DatabaseBackup @Databases ='USER_DATABASES', @Directory =N'C:\Backup', @BackupType ='FULL'" -b -o C:\Log\DatabaseBackup.txt

  4. I Windows Schemalagda uppgifter, skapa uppgifter för att anropa cmd-filerna.

  5. Schemalägg uppgifterna.

  6. Starta uppgifterna och kontrollera att de slutförs framgångsrikt.



  1. Importera en CSV-fil till en SQLite-tabell

  2. YEARWEEK() Exempel – MySQL

  3. Drivrutinen kunde inte upprätta en säker anslutning till SQL Server genom att använda Secure Sockets Layer (SSL)-kryptering

  4. Aggregerad funktion i MySQL - lista (som LISTAGG i Oracle)