这个要看楼主要删除的数据量再来决定具体的方法. 例如, 如果1000W要删除990W,那还不如将要的部分单独提取出来,原表再重命名. 如果1000W要删除10W,那建议直接Delte from table where ...即可. 如果1000W要删除500W,那建议分部分来删除.免得日志文件增长太快太大.
替rucypli回复: SQL Server Management Studio-->数据库实例-->数据库-->右键 -->属性-->选项-->恢复模式-->改为"简单". 另建议楼主先了解一下各个恢复模式的原理再修改.
例如,
如果1000W要删除990W,那还不如将要的部分单独提取出来,原表再重命名.
如果1000W要删除10W,那建议直接Delte from table where ...即可.
如果1000W要删除500W,那建议分部分来删除.免得日志文件增长太快太大.
-->属性-->选项-->恢复模式-->改为"简单".
另建议楼主先了解一下各个恢复模式的原理再修改.
如果在一个事务中删除太多数据的话,日志文件是照样增长的.
因为简单模式是以事务为单位来决定日志(Log)去还是留的.
--DUMP TRANSACTION dbNAMEWITH NO_LOG
--backup log dbNAMEWITH NO_LOG
--backup log dbNAMEWITH TRUNCATE_ONLY
--DBCC SHRINKDATABASE(dbNAME,1)再分批删除。
sqlserver 模式介绍