sql-server-2016 - 更改最小事务日志文件大小
问题描述
我有一个设置为默认事务日志大小很差的数据库(不幸的是我)现在我想永久更改这些默认值。我正在使用以下脚本,它似乎可以工作但不是永久有效。
use master
ALTER DATABASE [MyDB]
MODIFY FILE (NAME=MyDB_log,SIZE=10000MB,MAXSIZE=UNLIMITED,FILEGROWTH=1000MB);
当我在笔记本电脑上处理一些大型事务时,我想在完成后将日志文件缩小到 10GB 大小,这样我就不会用完磁盘空间,但是当我缩小日志文件时,它会缩小回到 8MB。我正确设置的另一个数据库缩小到我创建它时设置的 10GB 大小。
如何强制默认为 10GB?
许多其他帖子是人们试图将他们的日志文件缩小到小尺寸,这不是那样,我想故意将我的本地数据库日志文件保持在这个大文件大小,并且不希望它比那个小。
此外,即使上面的脚本在我查看日志文件属性时将 MAXSIZE 设置为 UNLIMITED,但它的上限仍然为 2GB(我没有设置,在任何情况下我对 UNLIMITED 的设置都不起作用)
解决方案
为什么不具体缩小它的大小?
USE {Your Database};
GO
DBCC SHRINKFILE (N'{Your Log File Name}' , 10000);
显然替换大括号 ( {}
) 中的值。
推荐阅读
- java - 应用程序重新启动,由于 AndroidRuntime 异常而无法运行
- c# - WPF:如何使用 C# 设置属性 Helptext
- angular - 如何在 Typescript(Angular) 中将类型实现为对象的值
- php - SQL 查询 SET & Update 但未从 PHP 调用
- vba - 从 MS Access VBA 使用 Shape.DrawSpline 方法 (Visio)
- perl - Perl CGI 元标记视口
- javascript - 在 Pusher 中不会收到任何警报消息
- javascript - Node.js 问题添加包
- ruby-on-rails - 将 json hash 转换为 rails 上的键
- javascript - angular.copy 不复制具有子对象或数组的对象