Je souhaite créer une nouvelle base de données avec un fichier de données de 200 .mdf
Go ( ) et un fichier journal de 50 Go ( .ldf
).
Mais c'est très lent (c'est environ 15 minutes et ça n'a toujours pas été créé). et cela prend beaucoup de temps. Est-ce normal? si oui qu'est-ce que ça fait qui prend du temps? puis-je améliorer sa vitesse de création?
J'utilise SQL Server 2008 R2, Windows Server 2008R2, 16 Go de RAM (que j'ai limité à 12 Go en ssms) et Core i7 Cpu
sql-server
Mehrdad Kamelzadeh
la source
la source
Réponses:
À moins que vous n'utilisiez l' initialisation instantanée des fichiers , SQL Server doit mettre à zéro tous les secteurs pour les fichiers. C'est un processus très long, en particulier pour 250 Go (données + journal). Afin d'accélérer les choses, activez cette fonctionnalité, puis SQL Server ne mettra pas à zéro l'espace pour les fichiers de données.
Veuillez noter que SQL Server mettra toujours à zéro le fichier journal , vous serez donc toujours limité par cela. Une autre référence pour l' initialisation du fichier journal
la source
zero out all sectors
et pourquoi SQL remet toujours à zéro le fichier journal? quel est l'avantage de faire cela?Si vous exécutez
secpol.msc
ce qui est la valeur locale Politiques, Attribution des droits utilisateur,Perform Volume Maintenance Tasks
?Mon hypothèse à ce stade est que le compte de service SQL Server n'a pas ce droit et qu'il met donc à zéro le mdf et le LDF. Impossible de contourner le LDF en cours de remise à zéro, mais vous pouvez l'ignorer pour le MDF.
Référence - http://timradney.com/2012/05/30/instant-file-initialization-for-sql-server-performance/
la source