我正在将数据库从MySQL迁移到SQLServer。在创建数据库时,我应该将初始大小设置为什么?我知道导入数据库的大小约为130MB,但会增长。 130MB应该是初始大小还是应该采用默认的2MB?
答案 0 :(得分:3)
答案 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数量。