如何在SQL Server Express版本中创build作业

任何人都可以请解释我如何在SQL Server Express版本中创build作业?

SQL Server Express 不包含SQL Server代理 ,所以不可能只创buildSQL代理作业。

你可以做的是:
您可以通过创buildbatch file和SQL脚本文件“手动”创build作业,并通过Windows任务计划程序运行它们。
例如,你可以用两个文件来备份你的数据库:

BACKUP.BAT:

sqlcmd -i backup.sql 

backup.sql:

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

只要将这两个文件放入同一个文件夹,并通过Windows任务计划程序执行batch file即可。

第一个文件只是一个调用sqlcmd实用程序并传递SQL脚本文件的Windowsbatch file。
SQL脚本文件包含T-SQL。 在我的例子中,它只是一行备份数据库,但你可以把任何T-SQL里面。 例如,您可以改为执行一些UPDATE查询。

创buildSQL代理作业的function在SQL Server速成版中不可用。 另一种方法是执行一个使用Windows任务计划程序执行SQL脚本的batch file。

为了做到这一点,首先创build一个名为sqljob.bat的batch file

 sqlcmd -S servername -U username -P password -i path of sqljob.sql 

用你的servernamereplaceservername usernameusernamepasswordpath

然后创build名为sqljob.sql的SQL脚本文件

 USE [databasename] --T-SQL commands go here GO 

用数据库名称replace[databasename] 。 编写SQL脚本时, USEGO是必需的。

sqlcmd是执行SQL脚本的命令行实用程序。 创build这两个文件后,使用Windows任务计划程序执行batch file。

注意:这个问题之前发布了几乎相同的答案。 但我觉得这是不完整的,因为它没有使用sqlcmd指定login信息。

SQL Server Express版本在某些方面受到限制 – 一种方法是,它们没有允许您安排作业的SQL代理。

有几个第三方扩展提供了这个function – 例如:

  • 用于SQL Server Express的Express代理:作业,作业,作业和邮件
  • SQL调度程序