Sql Server 数据库中的 Transaction Log 日志在系统运行过程中会不断累积,当日志文件大小达到某一范围或时间范围时,就需要对其进行删除,以保证系统良好运行,确保数据安全。
SQL Server 日志删除可以通过备份或检查点(checkpoint)操作来实现,前者是将当前数据库事务日志备份到指定的存储位置。而后者是将当前数据库日志收缩,释放多余的空间,使日志文件变小。
备份操作,以full/bulk-logged模式下的备份为例:

(1)使用SQL Server Management Studio(SSMS)进入日志文件管理->备份设置 :
(2)选择数据文件和日志文件进行备份,设置任务名称:
(3)选择 “完整” 模式(Full)或 “大批量日志模式(Bulk-logged) ”
(4)设置备份路径
(5)开始备份,备份完成后,日志文件将会减少,并释放相应的空间。
检查点操作:
使用T-SQL检查点
(1)在 SQL Server中,打开查询窗口,输入以下检查点操作代码:
CHECKPOINT;
(2)将日志文件收缩,以释放相应的空间以上两种操作都可以有效地管理日志文件,不影响正常系统运行,也可以很好地保护数据安全。但是,在操作之前,最好先做好备份,以防止出现意外情况。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
如何删除删除SQL SERVER数据库?
方法1:在 master 中执行EXEC sp_detach_db FJ, true接下来到相应的数据库文件目录下删除LOG文件EXEC sp_attach_db @dbname = NFJ, @filename1 = NF:\Microsoft SQL Server\MSSQL\Data\FJ_
执行结果如下(表明删除日志成功,并重建数据库日志文件):设备激活错误。 物理文件名 F:\Microsoft SQL Server\MSSQL\data\FJ_ 可能有误。 已创建名为 F:\Microsoft SQL Server\MSSQL\Data\FJ_ 的新日志文件。
方法2:选中要分离的数据库,先将其分离。 删除对应的日志文件。 数据库--所有任务--附加数据库--在附加数据库的弹出框中选择MDF
选择是即可完成创建新的数据库日志文件。 对数据库操作没有任何影响。 以上两个方法生成的LOG文件只有504KB。
SQL数据库表怎么删除3个月前的记录
其实SQL Server有个很好的功能,大家都忽略了,就是他强大的事务处理功能。 楼主可以写一个删除3个月前数据的存储过程,然后开启SQL Server代理,里面有个作业的,可以添加一个定期执行的作业,只要每天定期在空闲的时候执行就可以了。 当然了,触发器也是可以实现,但是触发器有个弊端,就是必须有数据插入、修改或者删除才能执行。
如何清除SQL的日记
第一步: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,具体意思看帮助。
发表评论