面对现在数据库利用场景的复杂多变,在处理进程中,数据库的优化工作愈来愈密集,及时发现和纠正数据库问题对系统的优化非常重要,有时候系统会出现数据库脏数据等问题,怎样使用SQL进行自动优化成为一个重要课题。
在MSSQL中,我们可以通过创建SQL文件来创建定时作业,像极客学院的小编一样,我们可使用创建定时作业来实现自动优化数据库。然后在文件中输入SQL语句,我们可使用SELECT语句删除重复无用数据,回收无用空间,和定期检查数据库存储行动,以实现数据库的自动优化。
从效果上来说,定期的脚本作业比手动优化的脚本更加准确可靠,也更加有效,下面是一个示例:
— 创建定时作业
EXEC dbo.sp_add_job @job_name=N’SQL清算数据库’,
@enabled=1,
@notify_level_eventlog=2,
@notify_level_email=0,
@delete_level=2,
@description=N’清算重复数据,回收无用空间’,
@category_name=N’Regular Maintenance’,
@owner_login_name=N’sa’, @job_id = @jobId OUTPUT;
--添加Job step
EXEC sp_add_jobstep @job_name=N’SQL清算数据库’,
@step_name=N’clear SQL data’,
@subsystem=N’TSQL’,
@command=N’DELETE FROM TABLE WHERE A_FIELD>XX’,
@retry_attempts=5,
@retry_interval=2,
@output_file_name=N’C:\MSSQL\output.txt’,
@on_success_action=1;
--配置schedule
EXEC sp_add_jobschedule @job_name=N’SQL清算数据库’,
@name=N’Weekly_Backup’,
@enabled=1,
@freq_type=8,
@freq_interval=1,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=1,
@active_start_date=20150806,
@active_end_date=99991231;
以上代码实现了创建定时作业,此作业每周履行一次,旨在清算重复记录,回收无用空间,从而到达自动优化数据库的目的。
总的来说,使用MSSQL创建脚本作业可以有效地优化数据库,我们可以通过限定时间间隔,定期检查数据库存储行动,删除重复的无用数据,回收无用的空间,以到达自动优化的目的。
本文来源:https://www.yuntue.com/post/94499.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏