3 回答

TA貢獻1951條經(jīng)驗 獲得超3個贊
SQL Server Express 不包含SQL Server代理,因此無法僅創(chuàng)建SQL代理作業(yè)。
您可以做的是:
您可以通過創(chuàng)建批處理文件和SQL腳本文件并通過Windows任務計劃程序運行它們來“手動”創(chuàng)建作業(yè)。
例如,您可以使用以下兩個文件備份數(shù)據(jù)庫:
BACKUP.BAT:
sqlcmd -i backup.sql
backup.sql:
backup database TeamCity to disk = 'c:\backups\MyBackup.bak'
只需將兩個文件放在同一個文件夾中,然后通過Windows任務計劃程序執(zhí)行批處理文件。
第一個文件只是一個Windows批處理文件,它調(diào)用sqlcmd實用程序并傳遞一個SQL腳本文件。
SQL腳本文件包含T-SQL。在我的示例中,備份數(shù)據(jù)庫只是一行,但您可以將任何T-SQL放入其中。例如,您可以執(zhí)行一些UPDATE
查詢。
如果您要創(chuàng)建的作業(yè)用于備份,索引維護或完整性檢查,您還可以使用Ola Hallengren提供的出色維護解決方案。
它由一堆存儲過程(以及SQL Server非Express版本的SQL Agent作業(yè))組成,在FAQ中有一節(jié)介紹如何在SQL Server Express上運行作業(yè):
如何開始使用SQL Server Express上的SQL Server維護解決方案?
SQL Server Express沒有SQL Server代理。因此,必須使用cmd文件和Windows計劃任務來計劃存儲過程的執(zhí)行。跟著這些步驟。
SQL Server Express沒有SQL Server代理。因此,必須使用cmd文件和Windows計劃任務來計劃存儲過程的執(zhí)行。跟著這些步驟。
下載MaintenanceSolution.sql。
執(zhí)行MaintenanceSolution.sql。此腳本創(chuàng)建所需的存儲過程。
創(chuàng)建cmd文件以執(zhí)行存儲過程; 例如:
sqlcmd -E -S。\ SQLEXPRESS -d master -Q“EXECUTE dbo.DatabaseBackup @Databases ='USER_DATABASES',@ Deirectory = N'C:\ Backup',@ BackupType ='FULL'” - b -o C:\登錄\ DatabaseBackup.txt在Windows計劃任務中,創(chuàng)建調(diào)用cmd文件的任務。
安排任務。
啟動任務并驗證它們是否已成功完成。

TA貢獻1911條經(jīng)驗 獲得超7個贊
SQL Server Express Edition中不提供創(chuàng)建SQL代理作業(yè)的功能。另一種方法是執(zhí)行使用Windows任務計劃程序執(zhí)行SQL腳本的批處理文件。
為此,首先要創(chuàng)建一個名為sqljob.bat的批處理文件
sqlcmd -S servername -U username -P password -i path of sqljob.sql
更換servername
,username
,password
和path
與你的。
然后創(chuàng)建名為sqljob.sql的SQL Script文件
USE [databasename]--T-SQL commands go hereGO
替換為[databasename]
您的數(shù)據(jù)庫名稱。在USE
與GO
當你寫的SQL腳本是必要的。
sqlcmd
是一個執(zhí)行SQL腳本的命令行實用程序。創(chuàng)建此兩個文件后,使用Windows任務計劃程序執(zhí)行批處理文件。
注意:此問題之前已經(jīng)發(fā)布了幾乎相同的答案。但我覺得它不完整,因為它沒有指定使用的登錄信息sqlcmd
。
- 3 回答
- 0 關(guān)注
- 1067 瀏覽
添加回答
舉報