为什么"初始大小"设置会发生变化?

Mr *_*ith 4 sql-server

导致DB或日志文件"初始大小"设置发生变化的原因是什么?例如,我们正在尝试缩小过大的事务日志.我们注意到"初始尺寸"比必要的要大得多.我们可以将其设置得更低,但最终会再次达到更高的值.这是AutoGrowth设置吗?

Nic*_*Nic 5

"初始大小"信息实际上使用了一个非常误导性的标题.这应该是"当前文件大小(MB)"更准确.

试试这个:

选择一个数据库并检查文件的当前大小.与您在GUI中看到的相比,它们应该是相同的

SELECT file_id, name, physical_name, (size * 8 /1024.0) AS SizeMB FROM sys.database_files
Run Code Online (Sandbox Code Playgroud)

现在增加文件大小(我在这里使用名为DBAdmin的测试数据库)

ALTER DATABASE DBAdmin MODIFY FILE (NAME = dbadmin, SIZE = 1GB)
Run Code Online (Sandbox Code Playgroud)

运行第一个查询,您将看到SizeMB现在反映了新值,GUI中的"初始大小"也是如此.

现在缩小该文件

DBCC SHRINKFILE(1, 500)
Run Code Online (Sandbox Code Playgroud)

再次查看查询和GUI中的值,您将看到它们返回500MB.

这引入了有关事务日志的问题.你是简单恢复还是满员?如果已满,则增加日志备份的频率,以帮助控制事务日志.如果在简单恢复中然后相应地调整事务日志的大小,则不要对其执行收缩操作,因为如果满足相同的条件,它只需要再次增长,并且增长部分将对数据库引入性能损失.