2016-10-04 124 views
1

我在SQL Server 2014中有一些维护计划,他们在我的数据库上执行一些任务。我想备份我的计划,在不同的服务器上使用它们。在SQL Server 2014中备份维护计划或作业

如何备份或部署它们?

+0

乔布斯重组索引存储在'MSDB'中。要部署作业,可以生成相应的脚本并在目标服务器上运行它。 –

+0

维修计划的位置? –

+0

维护计划也存储在'MSDB'中,但不能通过上下文菜单编写脚本。但它们只是SSIS包。您可以使用自己的维护步骤创建SSIS包并将其部署到服务器。实际上,他们执行与代理作业相同的任务,这更容易编写 –

回答

0

使用下面的开发人员或管理员创建的所有这些维护计划步骤

在管理 - >维护计划向导或维护计划

enter image description here

通过运行向导,你可以选择维护计划之后请选择您可以选择的所有维护计划,如下所示:

enter image description here

通过选择相应的计划(如果生成它将生成SQL作业),您可以脚本化这些SQL作业以进行备份,还可以根据需要启用和禁用这些作业。

enter image description here

+0

这不是OP要求的。问题是如何备份作业和维护计划,以及如何部署它们。这个答案不回答任何问题 –

+0

是的,只是再次注意到这个问题。让我们看看他从这个答案中期待什么...最好在另一台服务器上创建类似的作业,而不是备份和恢复,因为其中许多是SSIS包 –

+0

顺便说一下,OP是什么意思? –

1

作业和维护计划存储在MSDB系统数据库。您可以通过备份和恢复该数据库来备份和恢复作业和计划。

要部署作业,需要生成相应的脚本并在目标服务器上运行它。您可以通过右键单击并从上下文菜单中选择​​来生成现有作业的脚本。

维护计划不能轻松编写脚本。基本上它们是存储在MSDB中的SSIS包。您可以使用所需的维护任务创建自己的SSIS包,并将它们部署到服务器。

大多数DBA更喜欢作业,因为它们与维护计划具有相同的功能,并且脚本和部署要容易得多。

Ola Hallengren's脚本经常用于执行维护任务,如备份多个数据库或使用单个命令自动重建/重新组织索引。例如,

EXECUTE dbo.DatabaseBackup @Databases = 'USER_DATABASES', 
     @Directory = 'C:\Backup', 
     @BackupType = 'FULL', 
     @Compress = 'Y', 
     @Verify = 'Y' 

将采取所有用户数据库的完整备份与压缩,而

EXECUTE dbo.IndexOptimize @Databases = 'USER_DATABASES', 
@FragmentationLow = NULL, 
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', 
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', 
@FragmentationLevel1 = 5, 
@FragmentationLevel2 = 30 

将检查所有指标,并决定重建或基于碎片级别