在 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的主要内容,如果未能解决你的问题,请参考以下文章