Je déplace une base de données de MySQL vers SQLServer. Lors de la création de la base de données, à quoi dois-je définir la taille initiale? Je sais que la taille de la base de données importée sera d'environ 130 Mo mais augmentera. Si 130 Mo est la taille initiale ou devrais-je prendre la valeur par défaut de 2 Mo?quelle devrait être ma taille de base de données initiale
Répondre
Vous devriez faire la bonne taille pour s'adapter à vos données, vous obtiendrez un coup de performance à chaque fois que le fichier a besoin de croître.
Cela dépend de la vitesse de croissance, je dirais 150 Mo avec 10% d'auto-croissance.
Il est un conseil sur le MSDN qui vaut la peine d'être lu.
Réglez-le au moins à votre taille actuelle, probablement avec un tampon décent pour une croissance immédiate pendant la migration. Selon le taux de croissance que je ferais quelque chose comme:
initiale: 150 Mo (ou 200 Mo si la taille isnt un problème)
Autogrowth: oui
Autogrowth Taille: partout de 5MB à 25MB (en fonction de votre croissance attentes)
+1 Je préférerais des quantités fixes de MB sur une augmentation en pourcentage, aussi –
200 Mo avec une croissance automatique de 50 Mo est la bonne solution. N'oubliez pas d'utiliser des lecteurs distincts pour tempdb et, si possible, placez vos journaux sur des disques différents de vos données si vous avez besoin de meilleures performances. Souvenez-vous également que vos données peuvent être de 130 Mo, mais vous devez également penser à vos index et à la quantité d'espace qu'ils consomment. En outre, même si vous disposez d'un fichier de données de 200 Mo, vos fichiers de sauvegarde seront beaucoup plus petits, ce qui est souvent le cas lorsque vous parlez de petites bases de données comme celle-ci.
Une chose que vous devriez savoir est à quelle vitesse la base de données se développe.
Si le taux de croissance est faible (disons 1 MB/semaine)
Pour le MDF,
Définissez la taille initiale de 200 Mo
Set croissance automatique à 100 Mo (ce qui est 50% de la taille initiale)
pour le LDF,
Définissez la taille initiale de 20-50 Mo (ce qui est de 10-25% de la taille initiale du fichier MDF)
Set auto-croissance à 10-25 Mo (qui est de 50% de la taille initiale du fichier LDF)
Évitez d'utiliser% pour la croissance automatique, car il est imprévisible. Par exemple, si vous spécifiez un pourcentage pour votre croissance automatique et que la taille de la base de données passe à 300 Mo, cela signifie 30 Mo. Si la taille de votre base de données passe à 500 Mo, cela signifie 50 Mo. D'un autre côté, si vous utilisez MB, vous avez l'assurance que la base de données augmentera toujours la quantité de Mo que vous avez définie.
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
{{Shudder}} N'utilisez * jamais * de pourcentages pour la croissance automatique. C'est juste demander des ennuis. Si la base de données est petite, il peut être nécessaire de faire croître automatiquement des paquets de temps sur une courte période, ce qui peut nuire aux performances. Si la base de données devient volumineuse, une croissance automatique de 10% peut entraîner une croissance considérable des fichiers, entraînant des pertes de performances. Les bases de données ne se développent pas en dehors des heures non plus - par définition, ils le font quand ils sont touchés. Choisissez quelque chose de raisonnable pour votre charge de données attendue - disons 50-200MB. Les administrateurs de bases de données se reposeront un peu plus facilement en sachant qu'il y a un DB de moins avec un pourcentage de croissance automatique. – mattmc3
Vous pouvez retourner votre argument sur sa tête, si la base de données est petite et qu'elle a une croissance fixe de 50 Mo alors vous l'augmentez plus que nécessaire. Si sa base de données prend de l'ampleur, disons 100 Go et qu'il a mis 50 Mo de croissance automatique, il sera en croissance constante, encore une fois un succès de performance. La réalité est qu'il devrait être évalué au cas par cas, je ne vois pas comment vous pouvez recommander une taille fixe sans connaître l'utilisation, d'où le pourcentage et un lien vers une recommandation plus détaillée. ... –
... La croissance automatique est une mesure de sécurité et non un moyen d'augmenter la taille de vos fichiers, en raison de la nature imprévisible du moment où cela se produira. Si vous les gérez correctement, vous devez utiliser un travail avec 'sp_spaceused' ou une autre méthode pour vérifier la taille de vos fichiers de base de données et vous informer avant que la croissance automatique ne se produise, ce qui vous permet de le faire manuellement au moment opportun . –