在 SQL Server 的维护计划中添加 T-SQL

Posted

技术标签:

【中文标题】在 SQL Server 的维护计划中添加 T-SQL【英文标题】:Add T-SQL in maintenance plan in SQL Server 【发布时间】:2019-04-05 05:37:34 【问题描述】:

如何在 SQL Server 中将 T-SQL 语句设置为维护计划的一部分? 因为我可以看到备份等选项,但看不到添加 T-SQL 的可能性

【问题讨论】:

是否有可能使用 SQL Server 代理作业..?? 【参考方案1】:

我不确定您为什么要制定维护计划。但是,另一种方法是设置 SQL 服务器代理作业来执行您的 T-SQL 语句(可以作为过程放在一起)和相应地安排它。

同时,您也可以通过维护计划执行 SQL 作业。这个页面也会帮助你:https://docs.microsoft.com/en-us/sql/relational-databases/maintenance-plans/use-the-maintenance-plan-wizard?view=sql-server-2017

【讨论】:

【参考方案2】:

首先我使用 SQL Server Management Studio 连接到我的 SQL Server。

我转到节点Management,右键单击子节点Maintenance Plans,并创建了一个名为Test 的新维护计划。我的维护计划自动获得了一个名为Subplan_1 的子计划。我只是保留了它并保存了维护计划。

接下来,我到节点SQL Server Agent,打开子节点Jobs,双击节点Test.Subplan_1。它有一个名为Subplan_1 的工作步骤。双击该作业步骤会打开该作业步骤的属性。在那里我可以选择类型Transact-SQL script (T-SQL) 并输入我的SQL 代码。

我没有遇到任何问题。我使用的是 SQL Server 2017,但我很确定它在早期版本的 SQL Server 中的工作方式大致相同......

编辑:

就像 sabhari karthik 评论和回答的那样,很可能只使用 SQL Server 代理创建一个新作业并安排该作业。因此,也许您根本不需要维护计划。但是,如果您确实使用了维护计划(或需要使用和/或编辑现有的维护计划),那么维护计划的子计划可能会自动获取相关的 SQL Server 代理作业。但我不确定。我以前从未配置和使用过任何维护计划。我只是一名软件开发人员,而不是 DBA。

编辑 2:

我在维护计划向导中看到,还有一个选项可以将 SQL Server 代理作业作为维护任务执行。但您似乎需要先创建那个 SQL Server 代理作业。

【讨论】:

双击该作业步骤可打开该作业步骤的属性。我仍然看不到任何添加 T-SQL 常规的选项,步骤,时间表,警报,通知等是双击作业时可用的选项 您可以单击“作业属性”屏幕左侧窗格中的页面/节点“步骤”。然后它在右窗格的列表中显示该作业的作业步骤。如果创建新步骤或打开(双击)现有步骤,则会打开包含步骤详细信息的屏幕。您可以在此处指定作业步骤的类型(例如“Transact-SQL 脚本 (T-SQL)”。

以上是关于在 SQL Server 的维护计划中添加 T-SQL的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 维护计划历史记录检查成功或失败

使用SQL Server维护计划实现数据库定时自动备份

sql server使用维护计划定时备份完整数据库差异数据库

无法保存 SQL Server 维护计划

在 Sql Server 维护计划中重组索引与重建索引

sql server 2008 r2备份的数据可以合并吗?