Ajout et équilibrage des fichiers de données - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ajout et équilibrage des fichiers de données

Les bases de données SQL Server fournies avec EnterpriseOne peuvent souvent bénéficier de fichiers supplémentaires. Des fichiers supplémentaires permettent un équilibre optimal entre le stockage et les cœurs de processeur. L'équilibrage des fichiers est un processus qui comporte plusieurs étapes. La plupart de ces étapes nécessitent un accès exclusif aux objets de base de données. Vous devrez donc utiliser les autres systèmes EnterpriseOne pour accéder à la base de données hors ligne.

Calculs du dimensionnement des fichiers

Pour trouver la taille appropriée des fichiers de base de données, commencez par examiner la taille des données ROW actuelles à l'aide de la requête suivante.

USE JDE_PRIST920 SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0) AS SpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'

Effectuez ensuite les calculs suivants et complétez la colonne Votre valeur :

Line Nom exemple Votre valeur Description
1 Taille actuelle de la ligne 1 To Résultats de la requête précédente.
2 Croissance planifiée 20 % Croissance attendue au cours des prochains mois, y compris une marge de sécurité.
3 Taille requise 1,2 To Ligne 1 multipliée par la ligne 2.
4 Nombre de fichiers 8 Nombre de fichiers ciblés.
5 Taille par fichier 150 Go Ligne 3 divisée par la ligne 4.
6 Pourcentage de croissance automatique 10 % Taille pour une croissance automatique. Pour une fragmentation minimale, 10 % est un bon objectif.
7 Taille de croissance automatique 15 Go Ligne 5 multipliée par la ligne 6.

Création de fichiers

Utilisez le script suivant comme modèle pour ajouter des fichiers à la base de données. Modifiez les paramètres suivants :

  • Modifiez JDE-PRIST920 par le nom de la base de données à laquelle vous souhaitez ajouter des fichiers.

  • Pour NAME, spécifiez le nom logique de chaque fichier que vous souhaitez ajouter.

  • Pour FILENAME, spécifiez le nom physique de chaque fichier que vous souhaitez ajouter.

  • Pour FILEGROWTH, utilisez la valeur que vous avez calculée à la ligne 7 du tableau précédent.

  • Pour SIZE, spécifiez la valeur de la ligne 5 du tableau précédent.

USE master; GO ALTER DATABASE JDE_PRIST920 MODIFY FILE (NAME = JDE_PRIST920_Data, FILEGROWTH = 15GB); GO ALTER DATABASE JDE_PRIST920 ADD FILE (NAME = JDE_PRIST920_Data2, FILENAME = 'M:\DATA\PRIST920_Data2.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data3, FILENAME = 'M:\DATA\PRIST920_Data3.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data4, FILENAME = 'M:\DATA\PRIST920_Data4.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data5, FILENAME = 'M:\DATA\PRIST920_Data5.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data6, FILENAME = 'M:\DATA\PRIST920_Data6.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data7, FILENAME = 'M:\DATA\PRIST920_Data7.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data8, FILENAME = 'M:\DATA\PRIST920_Data8.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_TEMP, FILENAME = 'M:\DATA\PRIST920_TEMP.ndf', SIZE=150GB, FILEGROWTH = 15GB) GO

Vider temporairement le fichier MDF

Une fois les fichiers créés, migrez les données depuis les fichiers MDF vers les fichiers NDF en exécutant la commande suivante pour chaque fichier. Ajustez les noms de fichiers pour qu'ils reflètent ceux de votre base de données.

USE JDE_PRIST920 DBCC SHRINKFILE (JDE_PRIST920_Data, EMPTYFILE)

La commande EMPTYFILE génère une erreur, car certains contenus ne peuvent pas être déplacés vers un fichier NDF. Vous ne pouvez pas ignorer ce message d'erreur.

Message d'erreur lors du vidage du fichier MDF

Redimensionnement du fichier MDF

Exécutez la commande suivante pour réduire la taille du fichier MDF et atteindre la taille cible. Ajustez la taille du fichier pour refléter la valeur de la ligne 5 du calcul dans le tableau.

JDE_PRIST920 DBCC SHRINKFILE (JDE_PRIST920_Data, 150000);

Occasionnellement, la commande SHRINKFILE échouera en raison du placement du contenu qui n'a pas pu être déplacé vers un fichier NDF. Dans ce cas, il peut être nécessaire d'exécuter la commande DBCC DBREINDEX, de réexécuter le processus pour vider le fichier et de réessayer l'opération SHRINKFILE.

Nettoyage

Lorsque les fichiers cible ont été créés et que le fichier MDF est correctement dimensionné, utilisez la commande suivante pour migrer les données du fichier TEMP vers le fichier MDF. Ajustez les noms de fichiers pour qu'ils reflètent ceux de votre base de données.

DBCC SHRINKFILE (JDE_PRIST920_TEMP, EMPTYFILE)

Lorsque le fichier est vide, vous pouvez le supprimer en utilisant la commande suivante :

ALTER DATABASE JDE_PRIST920; REMOVE FILE JDE_PRIST920_TEMP;

Validation des résultats

Pour vérifier l'utilisation actuelle de l'espace disque de la base de données après l'équilibrage, exécutez les scripts suivants.

USE JDE_PRIST920 SELECT DB_NAME() AS DbName, type_desc, CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0 AS SpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'; SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0) AS TotalSpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'

La sortie doit ressembler à ce qui suit. Les fichiers seront rarement parfaitement équilibrés, car certains contenus ne peuvent exister que dans le fichier MDF.

Validation de l'utilisation de l'espace disque après l'équilibrage