在我的本地C:驱动器中,我有一个ldf
文件,用于托管在我们的某个服务器上的数据库。我有一个1 gb的数据库的本地副本和该数据库的ldf
(日志文件)16gb。它在我的硬盘上吃掉了很多我当地的空间。我想截断该文件。我在网上看到的很多内容都没有,但似乎他们正在讨论数据库所在的服务器上的文件。这不是这种情况,它在我的本地机器上。
我机器上文件的位置是:
C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA
为什么我在本地拥有该日志文件的副本以及本地的该数据库?
如何截断此文件?
谢谢!
答案 0 :(得分:28)
转到SSMS中的对象资源管理器窗格,然后右键单击相关数据库。选择任务 - >收缩 - >文件。将文件类型选项更改为日志,单击“在释放未使用的空间之前重新组织页面”选项,并将值设置为1 MB。点击确定。
如果这不起作用,请检查您的数据库是否设置了完整数据库恢复模型。右键单击数据库并转到属性。选择“选项”,然后选中“恢复模型”选项。设置为简单(如果可以!!!),然后缩小日志。
答案 1 :(得分:1)
您可以尝试的另一个选项是使用WITH TRUNCATE_ONLY:
BACKUP LOG databasename WITH TRUNCATE_ONLY
DBCC SHRINKFILE ( adventureworks_Log, 1)
但不要在实时环境中尝试此选项,更好的选择是在简单恢复中设置数据库。请参阅以下命令:
ALTER DATABASE mydatabase SET RECOVERY SIMPLE
DBCC SHRINKFILE (adventureworks_Log, 1)