删除数据库数据删不掉,提示空间已满



1.数据量大,删数据时候报日志空间不足,进服务器上查询是d盘空间只有9.95mb,

2.删除日志,之后d盘空间变大

数据库 'Crawler' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。

 

数据库历史数据清空

数据库日志太大,d盘空间太小,

(备注不同城市使用不一样的是数据库,但是表名字是一样的)

 

1. 机器慢,重启吧

2. 删除数据库日志,删除表数据

TRUNCATE table 表

 代码

USE 数据库名称
GO
ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE --简单模式
GO
USE 数据库名称
GO
--TRUNCATE table 表数据上1000万  id从1开始 里面数据全部清空
GO
DBCC SHRINKFILE (N'数据库名称_log' , 11, TRUNCATEONLY) 

GO

--这里的DNName_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询

--USE Crawler

--GO

--SELECT file_id, name FROM sys.database_files;

--GO
USE 数据库名称
GO
ALTER DATABASE 数据库名称 SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE 数据库名称 SET RECOVERY FULL --还原为完全模式
GO


注意:
1. TRUNCATE table 表名称

删除表中的所有行,而不记录单个行删除操作。 TRUNCATE TABLE 与没有 WHERE 子句的 DELETE 语句类似;但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少。

清空表里面数据,id从1开始






猜你喜欢

转载自blog.csdn.net/caikundashu/article/details/19035309