1. 收缩数据库方法
1) 在查询分析器中执行如下代码来查看日志信息:
DBCC loginfo('MyDatabase')
可以看到status=0的日志,代表已经备份到磁盘的日志文件;而status=2的日志还没有备份。当收缩日志文件时,收缩掉的空间其实就是 status=0的空间,如果日志物理文件无法减小,这里一定能看到非常多status=2的记录。
2) 使用下面指令清除status=2的记录
sp_removedbreplication 'MyDatabase'
3) 之后对数据库日志文件进行收缩
USE [master]
GO
ALTER DATABASE MyDatabase SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE MyDatabase SET RECOVERY SIMPLE
GO
USE [MyDatabase]
GO
DBCC SHRINKFILE(N'MyDatabase_Log' , 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE MyDatabase SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE MyDatabase SET RECOVERY FULL --还原为完全模式
GO
2. 查看数据库及数据日志的可用空间
SELECT name ,size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB
FROM sys.MyDatabase_files;
3. 查看所有数据的的日志文件大小和日志文件空间使用情况
DBCC SQLPERF(LOGSPACE)
本文详细介绍了如何通过使用SQL Server的DBCC命令和存储过程来管理数据库日志文件,包括查看日志信息、清除未备份的日志记录、收缩日志文件以及将数据库恢复到完全恢复模式。此外,提供了查询数据库及日志文件空间使用的SQL语句,并展示了如何使用DBCC SQLPERF来检查日志空间使用情况。通过这些操作,可以有效地管理数据库空间,提高系统性能。
1946

被折叠的 条评论
为什么被折叠?



