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

Sql server 我的初始数据库大小应该是多少,sql-server,database,size,Sql Server,Database,Size,我正在将数据库从MySQL移动到SQLServer。创建数据库时,我应该将初始大小设置为什么?我知道导入的数据库的大小将约为130MB,但会增加。130MB是初始大小还是默认为2MB?您应该将其设置为适合您的数据的正确大小,只要文件需要增长,您的性能就会受到影响 这取决于它的增长速度,我会说150MB,10%的自动增长 有一些建议值得一读。将其设置为至少您当前的大小,可能有一个合适的缓冲区,以便在迁移过程中立即增长。根据增长率,我会做如下事情: 首字母:150MB(如果大小不是问题,则为200M

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

您应该将其设置为适合您的数据的正确大小,只要文件需要增长,您的性能就会受到影响

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


有一些建议值得一读。

将其设置为至少您当前的大小,可能有一个合适的缓冲区,以便在迁移过程中立即增长。根据增长率,我会做如下事情:

首字母:150MB(如果大小不是问题,则为200MB)

奥格洛斯:是的


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

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

您应该了解的一件事是数据库的增长速度有多快

如果增长率很小(比如说1 MB/周)

对于MDF

将初始大小设置为200 MB

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

对于土地发展基金

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

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


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

+1我更喜欢固定数量的MB,而不是百分比增长。{{{shubder}}永远不要使用百分比进行自动增长。那只是自找麻烦。如果数据库很小,它可能需要在短时间内自动增长一组次,从而降低性能。如果数据库变大,10%的自动增长可能意味着巨大的文件增长,从而降低性能。数据库也不会在非工作时间增长——根据定义,它们是在受到攻击时增长的。为您的预期数据负载选择合理的数据-例如50-200MB。任何地方的DBA都可以轻松地知道,自动增长百分比会减少一个DB。您可以将您的论点颠倒过来,如果数据库很小,并且有固定的50MB增长,那么您将使其增长得比需要的更大。如果他的数据库变得更大,比如说100GB,并且他已经设置了50MB的自动增长,那么它将不断增长,这又是一次性能上的打击。现实情况是,它应该根据具体情况进行评估,我不认为你可以在不知道使用情况的情况下推荐一个固定尺寸,因此百分比和链接到更详细的建议。。。。。。自动增长是一种安全措施,而不是增加文件大小的方法,因为这种情况发生的时间是不可预测的。数据库确实会在非工作时间增长如果您正确管理它们,您应该使用带有
sp_spaceused
的作业或其他方法来检查数据库文件的大小,并在其自动增长之前通知您,以便您在方便的时间手动执行。
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