(高分求助SQLSERVER达人)关于SQL SERVER 2005代理与存储过程

来源:百度知道 编辑:UC知道 时间:2024/07/02 09:38:00
在代理里做了个作业,每天凌晨1点执行三个存储过程,存储6个表上万条数据,请问会生成很大的日志文件吗?现在的现象是,此数据库对应的日志文件每天增长很大,好多个G。高分求助

设置好日志文件的增长方式,并且设置上线,
要不然时间长了,数据量比较大并且经常改动的话,
会产生很大的日志文件,我这里数据文件800M,日志文件5G多,
如果不需要恢复数据库的话,可以将日志文件删除,
第一步:
backup log database_name with no_log
或者 backup log database_name with truncate_only --no_log和truncate_only是在这里是同义的,随便执行哪一句都可以
第二步:
1.收缩特定数据库的所有数据和日志文件,执行 dbcc shrinkdatabase (database_name,[,target_percent])--database_name是要收缩的数据库名称;target_percent是数据库收缩后的数据库文件中所要的剩余可用空间百分比
2.收缩一次一个特定数据库中的数据或日志文件,执行 dbcc shrinkfile(file_id,[,target_size]) --file_id是要收缩的文件的标识 (ID) 号,若要获得文件 ID,请使用 FILE_ID 函数或在当前数据库中搜索 sysfiles;target_size是用兆字节表示的所要的文件大小(用整数表示)。如果没有指定,dbcc shrinkfile 将文件大小减少到默认文件大小

两个dbcc都可以带上参数notruncate或truncateonly,具体意思看帮助。
呵呵,希望能有帮助,^_^

你可以设置让日志文件的最大上限,不要让他无限增加!不然你的空间再多也不够的!

你的表里面是不是存放了大量的图片文件?
如果是这样的话,无论是删除日志库后重新建立日志库,还是收缩日志库都是一种治标不治本的操作,因为这些操作只能保证一段时间的正常使用,等日志库又变大时,又要进行维护。
在不改变数据库结构的基础上目前好的解决办法也就是以上两种。
在允许修改数据库结构的基础上,可以把图片文件存放在服务器的硬盘上,在数据库中就只存放图片文件的路径,这样将有限的控制数据库日志文件的增长,这个办法不好的地方就是移植