SqlServer数据库定期自动备份与清除
https://blog.csdn.net/gc_2299/article/details/120733111
目前想要实现sqlserver数据库自动备份、清除一个月之外的数据,上述文章基本可满足,但是有些配置表不能进行删除,想要请问一下,利用ssms自带的计划,如何选择特定表进行备份、清除么
不知道你们为什么都要按csdn的某些文档去操作,这些看似操作文档实则很多没有经过验证并且版本过低了,开启代理服务
USE Test
GO
EXEC msdb.dbo.sp_add_job
@job_name = N'BackupSpecificTablesJob',
@enabled = 1,
@description = N'Backup specific tables in the database'
EXEC msdb.dbo.sp_add_jobstep
@job_name = N'BackupSpecificTablesJob',
@step_name = N'BackupSpecificTablesStep',
@subsystem = N'TSQL',
@command = N'
DECLARE @TableName NVARCHAR(255) = N''YourTableName''
DECLARE @BackupPath NVARCHAR(255) = N''C:\Backup\' + @TableName + '.bak''
BACKUP TABLE @TableName TO DISK = @BackupPath
'
EXEC msdb.dbo.sp_add_schedule
@schedule_name = N'BackupSpecificTablesSchedule',
@freq_type = 4, -- 每天
@freq_interval = 1, -- 每天一次
@active_start_time = 000000 -- 设置起始时间
EXEC msdb.dbo.sp_attach_schedule
@job_name = N'BackupSpecificTablesJob',
@schedule_name = N'BackupSpecificTablesSchedule'
EXEC msdb.dbo.sp_start_job N'BackupSpecificTablesJob'
需求是SQLServer数据库表只保留最近10天的数据,删除10天之前历史数据,释放数据库存储空间
利用定时任务每天删除10天前的数据,确保数据库表中只保留10天数据,从而节省数据库空间。在执行数据删除任务的同时,为了降低对数据库的影响,每次最多删除50000条符合条件的数据,每执行一次删除记录下删除进度,从而追踪数据删除情况。