举个例子:
比如我们有这样一个需求:
每天从源数据库每天同步一些数据到目标数据库,插入最新数据前先清空目标数据库中的表数据。
用以下SQL存储过程虽然可以实现,但是也不能每天都上去提交一次存储过程:
SQL
-- 创建存储过程以清空并填充目标表
CREATE PROCEDURE dbo.SyncDataFromSource
AS
BEGIN
SET NOCOUNT ON;
-- 清空目标表
TRUNCATE TABLE dbo.TargetTable;
-- 插入新数据
INSERT INTO dbo.TargetTable (Column1, Column2, Column3)
SELECT Column1, Column2, Column3
FROM SourceDatabase.dbo.SourceTable;
END;
GO
当然我们还有另一种方法就是使用SSMS自带的SQL Server代理,但是在SQL Server的Express版本是没有代理服务的。
需要打开SQL Server Installation Center 去升级版本到Developer或Enterprise :
![](https://ichistudio.cn/wp-content/uploads/2024/07/图片-13.png)
升级后我们就可以使用SQL Server代理中的作业来进行定时任务啦
参考文章:https://blog.csdn.net/weixin_44484756/article/details/107079275
![](https://ichistudio.cn/wp-content/uploads/2024/07/图片-15.png)