SQL Server日志文件过大处理攻略:有效方法帮你缩小日志
创始人
2024-12-21 12:45:40
0 次浏览
0 评论
SQL备份文件太大,该怎么删除日志文件让他缩小,请大虾告知
SQLServer日志清除方法在查询分析器中按顺序执行以下三个步骤,其中databasename是数据库的文件名1.清除日志:DUMPTRANSACTIONdatabasenameWITHNO_LOG2_截断事务日志:BACKUPLOGdatabasenameWITHNO_。LOG3.收缩数据库:DBCCSHRINKDATABASE(数据库名称)--////////////////////////////////////////////////////清除SQLServer日志的方法一种方法:清除日志。
1、打开查询分析器,输入命令DUMPTRANSACTION数据库名带NO_LOG2然后打开企业管理器-右键单击要压缩的数据库-所有任务-收缩数据库-收缩文件-选择日志文件-选择。
收缩在收缩到XXM的方法中,这里会给出允许收缩的最小M数,直接输入这个数字并确认即可。
方法二:清除历史记录:---------------------------------------------------------使用NO_LOGDBCCSHRINKFILE命名BACKUPLOG库(“日志文件名”,新的大小值类型,如1)日志文件名如下:从系统文件中选择名称,如:Mastlog---------------------------------------------备份历史DATABASENAMEwithtruncate_onlydbccshrinkdatabase(DATABASENAME,SIZE)如果每个时间都有完整备份一天,你可以设置一个任务,每三天或者一周清理一次,这样日志就不会增长------------。
-----------------------1:删除LOG1:分离数据库2:删除日志文件3:附加数据库此方法创建一个新日志,大小刚好500K多一点,然后设置数据库自动收缩2:清除日志DUMPTRANSACTION库名带NO_LOG然后:组织管理器-右键你要压缩的数据库-所有任务-收缩数据库-收缩文件-选择日志文件-选择缩小至XXM模式此处减少将给出允许减少的最小M数。
方法三:步骤一:Backuplogdatabase_namewithno_log或Backuplogdatabase_namewithtruncate_only——这里no_log和truncate_only是同义词,可以执行任何语句。
步骤2:1.收缩特定数据库的所有数据和日志文件,并执行dbccshrinkdatabase(database_name,[,t)。
target_percent])--database_name是要收缩的数据库的名称;target_percent是收缩数据库后数据库文件中所需剩余可用空间的百分比2.要每次收缩特定数据库中的数据或日志文件,请执行dbccshrink(file_id,[,target_size])--file_id是标识号(ID)要收缩的文件要获取文件ID,可以使用FILE_ID函数或在当前数据库中搜索sys文件;MB文件大小(以整数表示)。
如果没有完成选中后,dbccshrinkfile会将文件大小减小到默认文件大小。
两个dbcc都可以采用未截断或截断形式的参数。
方法四:(此方法一般在sqlserver2000环境下成功,但在sqlserver7及以下环境下不一定成功):步骤一:对整个数据库进行紧急备份步骤二:备份完成后,执行以下语句QueryAnalyzer:execsp_detach_dbyourDBName,true-删除MSSQL中此数据库的注册表信息。
步骤3:导航到日志的实际文件位置。
目录中删除日志文件或将日志文件从目录中移出步骤4:在QueryAnalyzer中执行以下语句:execsp_attach_single_file_dbyourDBName,'d:\mssql7\data\yourDBName_data.mdf'--将日志文件记录为单个DB文件如果成功后,MSSQL将自动为此数据库创建一个500KB的日志文件。
以上方法对于清除记录都是有效的。
但是,sqlserver不能创建日志吗?上述方法似乎都不起作用。
我这里有一个案例:我客户的SQLServer每天产生45亿条记录,每天扫描它们非常不方便。
有什么办法可以避免创建日志吗?您分析了促使客户创建日志的原因并进行了相应的测试。
客户端每天扫描数据库,将主系统的数据导入到sqlserver中。
我感觉sqlserver在插入时会创建一个小日志,但在删除整个库时会创建一个巨大的日志。
例如:SELECT*intotest_2fromb_bgxx总共包含45,000条记录,创建了十多条Mlog记录。
如果从test_2中删除导致超过80个Mlog,则显然存在问题。
虽然可以改成:truncatetabletest_2但是我还是希望能找到一种不生成日志的方法。
就像Oracle不创建档案一样。

sql2000备份数据ldf文件太大怎么处理
一般来说有两种方式,一种是使用命令压缩并清除日志文件,另一种是直接删除日志文件:1、命令行实现步骤一:清除日志DUMPTRANSACTIONdatabasenameWITHNO_LOG-步骤二:剪切日志文件事务日志BACKUPLOGdatabasenameWITHNO_LOG-步骤3:收缩数据库DBCCSHRINKDATABASE(数据库名称)2.记录文件直接删除方法:a.卸载数据库:企业管理器-服务器-数据库-右键-卸载数据库B.LOG文件C.添加数据库:企业管理器-服务器-数据库--右键-添加数据库这样会生成一个新的LOG文件,大小为超过500K。相关文章

SQL排序规则解析:ASC升序与DESC...
2024-12-21 16:38:44
MySQL误删表格恢复攻略:备份与Bin...
2024-12-21 03:17:39
MySQL查询技巧:快速统计表记录数与全...
2024-12-25 22:37:38
MySQL登录指南:命令行与图形界面两种...
2025-03-14 09:22:22
SQL技巧:高效查询与处理两张表中的重复...
2025-01-19 05:44:24
SQL基础先行:先掌握SQL,再轻松学习...
2025-02-13 18:29:13
Redis集群构建对比:Sentinel...
2025-02-25 08:13:56
MySQL时间戳排序技巧:精确按年月日排...
2024-12-24 17:43:07
SQL技巧:精确计算年龄,从出生日期到S...
2025-01-17 21:08:51
深入解析MySQL:九大基本对象与数据库...
2024-12-26 21:24:48最新文章
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
热门文章
1
高效掌握:CMD命令轻松启动、关闭及登录...
如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...
2
MySQL分区删除技巧与8.0版本新特性...
mysql删除分区在MySQL中,删除分区操作主要使用“可替代”的命令与“ dr...
3
Python代码实现:如何判断三角形的三...
python三角形三条边长,判断能否构成三角形Python三角形的三个长边如下:...
4
深度解析:MySQL查询语句执行顺序及优...
mysql查询语句执行顺序当这是由于执行SQL的过程时,了解其过程很重要。 ...
5
SQL教程:使用SUBSTRING和IN...
sql取特定字符的前面几位字符selectsubstr('L-0FCLDRBCT...
6
MySQL日期差异计算方法:轻松获取日期...
MySQL计算时间差两日期相减得月份mysql两时间相减得月MySQL计算时间之...
7
MySQL及SQL查询获取前10条数据方...
MySql查询前10条数据sql语句是从MySQL获取前1 0个数据的SQL查询...
8
MySQL启动问题排查与解决指南
Mysql为什么启动不了如果要配置MySQL,则遇到无法启动的问题,可能是由于配...
9
DbVisualizer添加MySQL数...
如何在DbVisualizer中添加本地mysql数据库由于DbVisualiz...
10
SQL字段默认值设置全攻略:轻松实现自动...
sql如何设置字段默认值设置SQL中某个字段的默认值;需要遵循几个步骤。首先您需...