谁能给我解释一下如何在SQL Server Express
版中创造就业机会?
发布于 2011-08-26 15:09:49
SQL Server Express doesn't include SQL Server Agent,因此不可能只创建SQL Agent作业。
您可以做的是:
您可以通过创建批处理文件和SQL脚本文件,并通过Windows任务调度器运行它们来“手动”创建作业。
例如,您可以使用以下两个文件备份数据库:
backup.bat:
sqlcmd -i backup.sql
backup.sql:
backup database TeamCity to disk = 'c:\backups\MyBackup.bak'
只需将这两个文件放在同一个文件夹中,并通过Windows任务计划程序执行批处理文件。
第一个文件是一个Windows批处理文件,它调用sqlcmd utility并传递一个SQL脚本文件。
SQL脚本文件包含T-SQL。在我的示例中,只有一行代码用于备份数据库,但是您可以在其中放入任何T-SQL。例如,您可以改为执行一些UPDATE
查询。
如果您要创建的作业是用于备份、索引维护或完整性检查,您也可以使用Ola Hallengren提供的出色的Maintenance Solution。
它由一系列存储过程(以及SQL Server非Express版的SQL Agent作业)组成,在FAQ中有一个关于如何在SQL Server Express上运行作业的部分:
如何开始使用SQL Server Express上的SQL Server维护解决方案?
SQL Server Express没有SQL Server代理。因此,必须使用cmd文件和Windows计划任务安排存储过程的执行。请按照以下步骤操作。
SQL Server Express没有SQL Server代理。因此,必须使用cmd文件和Windows计划任务安排存储过程的执行。请按照以下步骤操作。
下载MaintenanceSolution.sql.的
-E -S .\SQLEXPRESS .\SQLEXPRESS -d -Q "EXECUTE dbo.DatabaseBackup @Databases = 'USER_DATABASES',@Directory = N'C:\Backup',@Backup FULL= 'FULL'“-b -o sqlcmd
发布于 2015-05-12 18:05:24
创建SQL代理作业的功能在SQL Server Express Edition中不可用。另一种方法是执行批处理文件,该批处理文件使用Windows任务计划程序执行SQL脚本。
为此,首先创建一个名为sqljob.bat的批处理文件
sqlcmd -S servername -U username -P password -i <path of sqljob.sql>
将servername
、username
、password
和path
替换为您的。
然后创建名为sqljob.sql的SQL脚本文件。
USE [databasename]
--T-SQL commands go here
GO
将[databasename]
替换为您的数据库名称。在编写SQL脚本时,USE
和GO
是必需的。
sqlcmd
是一个用于执行SQL脚本的命令行实用程序。创建这两个文件后,使用Windows任务计划程序执行批处理文件。
NB:之前对这个问题发布了几乎相同的答案。但我觉得它并不完整,因为它没有指定使用sqlcmd
的登录信息。
发布于 2011-08-26 15:10:00
SQL Server Express版本在某些方面受到限制-其中一个方面是它们没有允许您计划作业的SQL代理。
有几个第三方扩展提供了这种功能-请查看以下内容:
维护的
https://stackoverflow.com/questions/7201061
复制相似问题