Sql server 2005 SQL Server 2005事务日志总是太大
我读过其他的帖子,也做过几个小时的研究,但还是没有一个更聪明。 我有一个数据库,在数据文件中是65千兆,在日志文件中是230千兆。我正试图重新设计数据库,使其更高效,但在进行架构更改时,日志文件会变得太大,windows会抱怨磁盘空间不足 我试着缩小文件,最低限度是220吉格。使用DBCC OPENTRAN,我可以看到没有活动事务。使用select*FROM sys.dm_tran_database_事务,我可以看到没有什么有趣的事情发生 我对所读内容的解释是,只有在存在活动事务的情况下,日志文件才应该是大的,并且一旦提交了所有事务,该文件应该能够缩小到理论上非常小的大小。对吗 我尝试过使用truncate_和dbcc shrinkfile(dbname,2)来备份日志Sql server 2005 SQL Server 2005事务日志总是太大,sql-server-2005,transaction-log,Sql Server 2005,Transaction Log,我读过其他的帖子,也做过几个小时的研究,但还是没有一个更聪明。 我有一个数据库,在数据文件中是65千兆,在日志文件中是230千兆。我正试图重新设计数据库,使其更高效,但在进行架构更改时,日志文件会变得太大,windows会抱怨磁盘空间不足 我试着缩小文件,最低限度是220吉格。使用DBCC OPENTRAN,我可以看到没有活动事务。使用select*FROM sys.dm_tran_database_事务,我可以看到没有什么有趣的事情发生 我对所读内容的解释是,只有在存在活动事务的情况下,日志文
如何将此文件缩小到更易于管理的位置?您读过Kimberly Tripp的文章吗?(几乎是关于这个主题的经典参考): 您可能遇到VLF碎片:。运行此命令以查找:
DBCC LOGINFO;
您是否按照此标准程序收缩日志:
1) 备份事务日志(即使处于简单模式)以清除所有活动
BACKUP LOG [MyDB]
TO DISK = N'E:\db.bak'
GO
2) 收缩事务日志
USE [MyDB]
GO
DBCC SHRINKFILE ('MyDB_Log', TRUNCATEONLY)
GO
3) 修改事务日志的大小并配置自动增长:
USE [MyDB]
GO
ALTER DATABASE [MyDB]
MODIFY FILE ( NAME = N'MyDB_Log', SIZE = 1024000KB, FILEGROWTH = 1024000KB)
GO
非常感谢你。我没有看到那篇文章。对我来说,这是VLF碎片。如果其他人有此问题,请运行DBCC LOGINFO;然后查看返回的行数。文章建议,如果超过50,那么碎片化可能是一个问题。在本文第8点之后,日志文件现在只有2mb,低于230Gig!