日期:2014-05-18  浏览次数:20733 次

数据库的日志文件大小如果设定为10MB,那么超过后如何处理?
如果设定日志文件大小,那么日志超过这个大小后,系统如何处理的???

------解决方案--------------------
设置其自增长率为10%或增长值为1M。
------解决方案--------------------
或者能否定期的清空/删除日志文件呢?
自己建立作业,定期清空日志.

SQL code
--使用作业定时启停数据库的示例
IF EXISTS(SELECT * FROM msdb.dbo.sysjobs WHERE name='启用pubs数据库')
    EXEC msdb.dbo.sp_delete_job @job_name='启用pubs数据库'

--定义创建作业
DECLARE @jobid uniqueidentifier
EXEC msdb.dbo.sp_add_job
    @job_name = N'启用pubs数据库',
    @job_id = @jobid OUTPUT

--定义作业步骤
DECLARE @sql nvarchar(400),@dbname sysname
SELECT @dbname=N'master',                   --数据库联机或者脱机只能在master数据库中进行
    @sql=N'ALTER DATABASE pubs SET ONLINE'  --使用pubs数据库联机(启用)
EXEC msdb.dbo.sp_add_jobstep
    @job_id = @jobid,
    @step_name = N'启用pubs数据库处理',
    @subsystem = 'TSQL',
    @database_name=@dbname,
    @command = @sql

--创建调度(使用后面专门定义的几种作业调度模板)
EXEC msdb..sp_add_jobschedule
    @job_id = @jobid,
    @name = N'启用pubs数据库处理调度',
    @freq_type=4,
    @freq_interval=1,
    @freq_subday_type=0x1,
    @freq_subday_interval=1,
    @active_start_time = 075000 --每天07:50分执行

--添加目标服务器
DECLARE @servername sysname
SET @servername=CONVERT(nvarchar(128),SERVERPROPERTY(N'ServerName'))
EXEC msdb.dbo.sp_add_jobserver 
    @job_id = @jobid,
    @server_name = @servername