每分每秒 發表於 2025-8-4 10:17:49

在SQL SERVER 中用SSMS实现每日自动调用存储过程的操作步骤

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">🔧 一、启用 SQL Server 代理服务(前置条件)</a></li><li><a href="#_label1">📝 二、创建自动执行作业(SSMS 图形化操作)</a></li><ul class="second_class_ul"><li><a href="#_lab2_1_0">1. ​​新建作业​​</a></li><li><a href="#_lab2_1_1">2. ​​添加作业步骤​​</a></li><li><a href="#_lab2_1_2">3. ​​配置每日调度计划​​</a></li><li><a href="#_lab2_1_3">4. ​​保存作业​​</a></li></ul><li><a href="#_label2">⚠️ 三、关键注意事项</a></li><ul class="second_class_ul"></ul><li><a href="#_label3">🔍 四、验证与测试</a></li><ul class="second_class_ul"></ul><li><a href="#_label4">💡 五、扩展配置(可选)</a></li><ul class="second_class_ul"></ul></ul></div><p>在 SQL Server Management Studio (SSMS) 中实现每日自动调用存储过程,需通过 ​<strong>​SQL Server 代理作业​</strong>​配置定时任务。以下是详细操作步骤:</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202508/2025080410133225.png" /></p>
<p class="maodian"><a name="_label0"></a></p><h2>🔧 一、启用 SQL Server 代理服务(前置条件)</h2>
<ol><li>​<strong>​启动服务​</strong>​:
<ul><li>在 SSMS 的 ​<strong>​对象资源管理器​</strong>​ 中,右键点击 <code>SQL Server 代理</code> &rarr; 选择 <code>启动</code>(若服务已停止)。</li></ul></li><li>​<strong>​设置自动启动​</strong>​:<ul><li>按 <code>Win+R</code> 输入 <code>services.msc</code> &rarr; 找到 <code>SQL Server 代理</code>服务 &rarr; 右键属性 &rarr; 设置 ​<strong>​启动类型为&ldquo;自动&rdquo;​</strong>​(防止服务器重启后服务停止)。</li></ul></li></ol>
<p class="maodian"><a name="_label1"></a></p><h2>📝 二、创建自动执行作业(SSMS 图形化操作)</h2>
<p class="maodian"><a name="_lab2_1_0"></a></p><h3>1. ​​新建作业​​</h3>
<ul><li>展开 <code>SQL Server 代理</code> &rarr; 右键 <code>作业</code> &rarr; 选择 <code>新建作业</code>。</li><li>​<strong>​常规选项卡​</strong>​:<ul><li>输入作业名称(如 <code>Daily_Call_Procedure</code>)和描述(可选)。</li></ul></li></ul>
<p class="maodian"><a name="_lab2_1_1"></a></p><h3>2. ​​添加作业步骤​​</h3>
<ul><li>切换到 <code>步骤</code> 选项卡 &rarr; 点击 <code>新建</code>:
<ul><li>​<strong>​步骤名称​</strong>​:自定义(如 <code>Run_Stored_Procedure</code>)。</li><li>​<strong>​类型​</strong>​:选择 <code>Transact-SQL 脚本 (T-SQL)</code>。</li><li>​<strong>​数据库​</strong>​:选择存储过程所在的数据库。</li><li>​<strong>​命令​</strong>​:输入 <code>EXEC YourProcedureName;</code>(替换为实际存储过程名)。</li><li>​<strong>​验证脚本​</strong>​:点击 <code>分析</code> 检查语法 &rarr; 点击 <code>确定</code>。</li></ul></li></ul>
<p class="maodian"><a name="_lab2_1_2"></a></p><h3>3. ​​配置每日调度计划​​</h3>
<ul><li>切换到 <code>计划</code> 选项卡 &rarr; 点击 <code>新建</code>:
<ul><li>​<strong>​名称​</strong>​:自定义(如 <code>Daily_1AM</code>)。</li><li>​<strong>​计划类型​</strong>​:选择 <code>重复执行</code>。</li><li>​<strong>​频率​</strong>​:<ul><li>执行:选择 <code>每天</code>。</li><li>间隔:设为 <code>1</code> 天。</li></ul></li><li>​<strong>​每日频率​</strong>​:<ul><li>选择 <code>执行一次</code> &rarr; 设置时间(如 <code>01:00:00</code> 表示凌晨1点)。</li></ul></li><li>点击 <code>确定</code> 保存计划。</li></ul></li></ul>
<p class="maodian"><a name="_lab2_1_3"></a></p><h3>4. ​​保存作业​​</h3>
<ul><li>点击 <code>确定</code> 保存作业配置,作业将按计划每日自动执行。</li></ul>
<p class="maodian"><a name="_label2"></a></p><h2>⚠️ 三、关键注意事项</h2>
<ol><li>​<strong>​权限要求​</strong>​:
<ul><li>当前登录用户需为 <code>sysadmin</code> 角色成员,或具有操作 SQL Server 代理的权限。</li><li>存储过程需对作业所有者可见,否则可能因权限失败。</li></ul></li><li>​<strong>​日志监控​</strong>​:<ul><li>右键作业 &rarr; 选择 <code>查看历史记录</code> 可检查执行状态和错误信息。</li><li>调整日志保留策略:<code>SQL Server 代理 &rarr; 属性 &rarr; 历史</code> &rarr; 修改最大日志行数(避免日志被覆盖)。</li></ul></li><li>​<strong>​错误处理​</strong>​:<ul><li>建议在存储过程中添加 <code>TRY...CATCH</code> 块,记录错误到日志表。</li></ul></li></ol>
<p class="maodian"><a name="_label3"></a></p><h2>🔍 四、验证与测试</h2>
<ul><li>​<strong>​手动测试​</strong>​:<br />右键作业 &rarr; 选择 <code>启动作业</code>,立即验证逻辑是否正确。</li><li>​<strong>​查看执行结果​</strong>​:<br />在作业历史记录中确认状态为 ​​<code>成功</code>​​(状态码 <code>1</code>)。</li></ul>
<p class="maodian"><a name="_label4"></a></p><h2>💡 五、扩展配置(可选)</h2>
<ul><li>​<strong>​多步骤作业​</strong>​:若需执行多个操作(如清理日志后发送通知),可在作业中添加多个步骤。</li><li>​<strong>​失败通知​</strong>​:<br />在 <code>通知</code> 选项卡中配置邮件警报,当作业失败时自动通知管理员。</li></ul>
<blockquote><p>✅ ​<strong>​总结​</strong>​:通过 SSMS 创建 SQL Server 代理作业是自动化每日任务的标准方法,结合图形界面操作直观且易于维护。若需脚本化管理,可参考 T-SQL 命令(如 <code>sp_add_job</code>, <code>sp_add_schedule</code>)。</p></blockquote>
頁: [1]
查看完整版本: 在SQL SERVER 中用SSMS实现每日自动调用存储过程的操作步骤