Cet article présentera un problème pratique auquel les administrateurs sont souvent confrontés lors du processus d'initialisation de la base de données : comment importer de gros volumes de données dans le système de base de données. Au cours du processus d'initialisation de la base de données, un problème pratique auquel les administrateurs doivent faire face est de savoir comment importer de gros volumes de données dans le système de base de données. Certains outils d'importation et d'exportation de données de grande capacité sont fournis dans la base de données SQL Server pour que les administrateurs de base de données puissent les utiliser. Par exemple, les administrateurs peuvent utiliser l'utilitaire bcp pour exporter des données en gros volumes, importer des données en gros volumes et générer des fichiers formatés. Par exemple, les instructions d'insertion en masse peuvent être utilisées pour importer des données de grande capacité directement à partir de fichiers de données vers des tables de base de données ou des vues non partitionnées, etc.
Bien que ces utilitaires soient fournis dans la base de données SQL Server. Cependant, les administrateurs doivent toujours être prudents quant à ce travail dans la réalité. Plus précisément, lors du processus d’importation et d’exportation de données de grande capacité, vous devez prêter attention aux aspects suivants.
1. Essayez d'utiliser les outils fournis par le système pour importer et exporter des données de grande capacité.
Les différents outils pratiques mentionnés par l'auteur ci-dessus ont une caractéristique commune, c'est-à-dire qu'ils effectueront certaines optimisations sur des données de grande capacité lors du processus d'importation. Cela permettra par exemple d’uniformiser le format de certaines données, de gagner du temps sur l’import et l’export, etc. Cependant, lors de l'utilisation de ces outils, il existe une différence par rapport aux autres outils d'importation et d'exportation de données ordinaires : les opérations d'importation de grande capacité ne prennent pas en charge l'importation de données dans des fichiers délimités par des virgules, souvent appelés fichiers texte. Bien que l'administrateur puisse également utiliser d'autres outils pour importer des données de grande capacité au format de fichier pour le moment, je ne le recommande généralement pas. Parce que d'autres outils ne prennent pas en charge la fonction d'optimisation pendant le processus d'importation. Pour cette raison, l'auteur recommande d'utiliser d'autres outils, tels qu'ACCESS et d'autres outils intermédiaires, pour d'abord convertir les données du fichier texte sous forme de tableau ordinaire, puis d'utiliser les outils ci-dessus pour les importer dans le système. Même si cela augmentera la charge de travail, cela peut garantir la qualité des données de grande capacité. Pour cette raison, dans mon travail actuel, si les utilisateurs rencontrent ce genre de problème, je leur recommande fortement d'utiliser les outils fournis par le système pour importer et exporter des données de grande capacité.
De plus, l’utilisation de fichiers formatés pour améliorer la standardisation des données de grande capacité est également un bon choix. Plusieurs des outils d'importation et d'exportation de grande capacité mentionnés ci-dessus prennent en charge l'utilisation de fichiers de format spécialisé pour stocker les informations de format de chaque champ dans le fichier de données d'origine. Le fichier de format peut également contenir des informations sur la table de base de données correspondante. Les fichiers de format peuvent être utilisés pour fournir toutes les informations de formatage nécessaires pour exporter et importer en masse des données dans une instance de base de données. En termes simples, un fichier de format offre un moyen flexible d'interpréter le format des données dans un fichier de données lors de l'importation et de formater les données dans un fichier de données lors de l'exportation. Cette flexibilité élimine le besoin d'écrire du code spécialisé pour interpréter les données ou de reformater les données pour répondre aux besoins particuliers de la base de données ou de l'application externe. Si les fichiers formatés sont utilisés de manière flexible, les utilisateurs peuvent directement exporter ou importer des données de grande capacité dans le format requis sans avoir à procéder à des ajustements de format supplémentaires par la suite.
2. Sélectionnez le mode de fonctionnement du journal de base de données approprié
Comme chacun le sait, toute modification apportée par les utilisateurs à la base de données sera enregistrée dans les journaux correspondants. L’importation et l’exportation de gros volumes de données ne font pas exception. Cependant, étant donné que les données de grande capacité sont relativement volumineuses, elles occuperont une fonction de journal des transactions relativement importante. Pour cette raison, l'auteur recommande qu'avant d'importer des données de grande capacité, il est préférable de choisir un mode de fonctionnement du journal de base de données approprié. L'approche de l'auteur est que si l'utilisateur a besoin d'importer des données de grande capacité, il est préférable de choisir le mode de récupération des journaux de grande capacité. Attendez que le travail d'importation soit terminé, puis revenez au mode d'origine.
Cela est principalement dû au fait qu'en mode journalisation de grande capacité, la prise en charge du travail d'importation de données de grande capacité est relativement bonne. Comparé à d'autres modèles de récupération consignés (tels que le modèle de récupération complète), le modèle de récupération consigné en bloc n'enregistre que de manière minimale les opérations en bloc. Pour cette raison, le modèle de récupération des opérations de journalisation à grande capacité protège les opérations de gros volumes contre les pannes matérielles, offre de meilleures performances et occupe un minimum d'espace de journalisation. Par conséquent, l'utilisation de la récupération avec journalisation en masse permet d'éviter que les journaux de transactions ne manquent d'espace, car la récupération avec journalisation en masse n'insère pas de lignes de journal. Ce mode de fonctionnement des journaux en bloc est très adapté aux bases de données utilisant le modèle de récupération complète. Le modèle de récupération avec journalisation groupée est utile lors de l'exécution d'opérations groupées sur des tables sans index.
Cependant, le mode d'exploitation des grumes à grande capacité comporte également certains risques. Un modèle de récupération tel qu'un journal en bloc augmente le risque de perte de données pour ces opérations de copie en bloc. Parce que le mode de fonctionnement journalisé en masse empêchera le système de base de données de capturer les modifications apportées à chaque transaction une par une. Si une sauvegarde de journal contient des opérations de journalisation en bloc, vous ne pouvez pas restaurer à un moment donné dans cette sauvegarde de journal, vous pouvez uniquement restaurer l'intégralité de la sauvegarde de journal. Également dans le modèle de récupération avec journalisation groupée, si la sauvegarde du journal couvre des opérations groupées, la sauvegarde du journal contiendra les enregistrements de journal et les pages de données modifiées par les opérations groupées. Ceci est essentiel pour capturer les résultats des opérations de journalisation en masse. Les zones de données fusionnées peuvent rendre les sauvegardes de journaux très volumineuses. De plus, la sauvegarde des journaux nécessite l'accès à des fichiers de données contenant de grands volumes de transactions de journaux. Si des fichiers de base de données concernés sont inaccessibles, le journal des transactions ne sera pas sauvegardé et toutes les opérations validées dans ce journal seront perdues. Par conséquent, le mode de sauvegarde des journaux de grande capacité n’est pas un mode de journalisation sécurisé.
3. Déterminez si vous devez d'abord supprimer temporairement l'index de la table
L'index est un fichier spécial et son rôle dans la base de données est très important. Pour faire simple, si la base de données est comparée à un livre, alors l’index est comme la table des matières du livre. L'index contient des pointeurs de référence vers tous les enregistrements de la table de données. Il ne fait aucun doute que les index peuvent améliorer les performances des bases de données. Mais l’indexation ne peut pas avoir un effet positif à chaque occasion. Dans certains cas particuliers, cela réduira les performances de certaines opérations, comme l'importation de données de grande capacité.
Un index peut accélérer les opérations de récupération de données, mais il peut ralentir les opérations de modification des données. Car chaque fois qu'un enregistrement de données est modifié ou inséré, l'index doit être actualisé. En d'autres termes, si un million d'enregistrements sont insérés, l'index doit être actualisé un million de fois. On peut voir que lorsque des données de grande capacité sont importées, l'index consommera beaucoup de ressources de la base de données, réduisant ainsi les performances de la base de données. S'il y a des index dans la table de destination, cela affectera non seulement la vitesse d'importation de gros volumes de données dans la base de données, mais réduira également les performances de l'accès normal des autres utilisateurs à la base de données.
Pour cette raison, la suggestion de l'auteur est que s'il n'y a pas beaucoup de données à importer dans la table, il est préférable de d'abord supprimer l'index pour améliorer les performances d'importation de données de grande capacité. Réactivez l'indexation après l'importation. Cependant, s'il y a déjà beaucoup de données dans la table qui doivent être importées et que les données à importer peuvent être similaires ou inférieures aux données existantes, il n'est pas nécessaire de supprimer l'index. La suppression de l'index à ce moment aura l'effet inverse. Parce que le temps nécessaire au système de base de données pour reconstruire les index peut être plus long que le temps gagné lors de l'opération d'importation en masse. A ce moment, l'administrateur perdra plus que le gain en supprimant l'index de la table cible.
4. Effectuez une sauvegarde de la base de données immédiatement après l'importation des données
Tout comme pour l'établissement d'objets de base de données, après avoir importé des données de grande capacité dans le système de base de données, les administrateurs doivent sauvegarder la base de données existante en temps opportun. En raison de l'aide opportune des outils d'importation de grande capacité du système, ce travail d'importation de données reste très fastidieux et prend beaucoup de temps. Pour cette raison, une fois les données de grande capacité importées avec succès dans le système de base de données, l'administrateur doit sauvegarder la base de données en temps opportun. Ce que l'auteur souhaite rappeler à tout le monde ici, c'est que les méthodes de sauvegarde sont souvent différentes selon les modes de journalisation des opérations.
Après avoir importé des données de grande capacité, les administrateurs doivent sauvegarder la base de données. La suggestion de l'auteur est que si l'administrateur adopte un modèle de récupération de journal simple à ce moment-là, il doit effectuer une sauvegarde complète ou une sauvegarde différentielle immédiatement après la fin de l'opération d'importation en masse (si le temps le permet, il est préférable d'effectuer une sauvegarde complète). . Et si l'administrateur de la base de données adopte le modèle de récupération des journaux de grande capacité ou le modèle de récupération complète à ce moment-là, s'il ne dispose pas de beaucoup de temps ou s'il craint que la sauvegarde complète n'affecte l'accès de l'utilisateur à ce moment-là, il effectue uniquement une sauvegarde du journal. c'est suffisant. Si le serveur de base de données n'est pas devenu un serveur de production (c'est-à-dire qu'aucun utilisateur ne l'utilise toujours), il est plus sûr d'effectuer une sauvegarde complète de la base de données.
5. Erreurs courantes
Il existe probablement deux erreurs les plus courantes lors de l’importation de données de grande capacité.
Premièrement, le format du fichier fourni est incorrect. Comme mentionné ci-dessus, l'outil d'importation en masse fourni par la base de données ne prend généralement pas en charge les fichiers texte. Les administrateurs doivent effectuer des conversions préalables à cette fin. Deuxièmement, sachez que les caractères masqués peuvent poser des problèmes. De nombreux logiciels et éditeurs de texte affichent des caractères masqués. Ces caractères masqués se trouvent généralement à la fin du fichier de données. Lors des opérations d'importation groupée, les caractères masqués dans les fichiers de données peuvent provoquer des problèmes imprévisibles tels que des erreurs inattendues de caractères nuls, etc. Cette erreur est facile à éviter. Tant que l'administrateur de la base de données recherche et supprime tous les caractères masqués avant d'importer les données. En fait, ce problème sera rencontré non seulement lors de l’import de données de grande capacité, mais également lors de l’import de petites quantités de données.