我的初始数据库大小应该是多少

时间:2010-07-09 19:54:45

标签: sql-server database size

我正在将数据库从MySQL迁移到SQLServer。在创建数据库时,我应该将初始大小设置为什么?我知道导入数据库的大小约为130MB,但会增长。 130MB应该是初始大小还是应该采用默认的2MB?

5 个答案:

答案 0 :(得分:3)

您应该使其大小适合您的数据,只要文件需要增长,您就会受到性能影响。

这取决于它的增长速度,我会说150MB,10%的Autogrowth。

MSDN有关于值得一读的建议。

答案 1 :(得分:3)

将其设置为至少当前大小,可能具有适当的缓冲区,以便在迁移期间立即增长。根据增长率,我会做类似的事情:

初始值:150MB(如果尺寸不是200MB,则为200MB)

Autogrowth:是的

自动增长大小:从5MB到25MB(取决于您的增长预期)

答案 2 :(得分:1)

USE MASTER;
GO
CREATE DATABASE StackOverflowDatabase
ON 
( NAME = 'StackOverflowDatabase',
    FILENAME = 'C:\Program Files\Microsoft SQL Server\Your version\MSSQL\DATA\SO_db.mdf',
    SIZE = 200MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 50MB )
LOG ON
( NAME = 'StackOverflowDatabase_log',
    FILENAME = 'C:\Program Files\Microsoft SQL Server\Your version\MSSQL\DATA\SO_db.ldf',
    SIZE = 20MB,
    MAXSIZE = 50MB,
    FILEGROWTH = 10MB ) ;
GO

答案 3 :(得分:0)

200 MB,50 MB自动增长是正确的解决方案。请记住为tempdb使用单独的驱动器,如果需要更好的性能,请尽可能将日志放在数据的不同磁盘上。另外,请记住您的数据可能是130 MB,但您还需要考虑索引以及它们将消耗多少空间。此外,即使您有200MB的数据文件,您的备份文件也会小得多,这通常是在谈论像这样的小型数据库时真正的空间问题。

答案 4 :(得分:0)

您应该知道的一件事是数据库的增长速度有多快。

如果增长率很小(假设1 MB /周)

对于MDF,

将初始大小设置为200 MB

将自动增长设置为100 MB(初始大小的50%)

对于LDF,

将初始大小设置为20-50 MB(这是MDF文件初始大小的10-25%)

将自动增长设置为10-25 MB(这是LDF文件初始大小的50%)

避免使用%进行自动增长,因为它是不可预测的。例如,如果您指定自动增长的百分比,并且数据库大小增长到300MB,那么这意味着30 MB。如果您的数据库大小增加到500 MB,这意味着50 MB。另一方面,如果您使用MB,那么您可以放心,DB将始终增加您设置的MB数量。