Remarque importante :
La maintenance et l'entretien des bases de données sont des tâches complexes et fastidieuses qui doivent être confiées à des spécialistes des bases de données.DocuWare n'a fourni qu'une assistance limitée pour la maintenance des bases de données. Ce processus nécessite une connaissance technique approfondie des structures des bases de données. Notre expérience a montré que l'entretien et la maintenance de la base de données n'ont pas été effectués, ce qui a entraîné des problèmes de performance dans les différents systèmes DocuWare. La défragmentation des index, ainsi que la maintenance et la recréation des index nécessaires, sont des tâches essentielles et difficiles qui nécessitent des connaissances approfondies en matière de bases de données.
La maintenance des bases de données ne fait donc pas partie de nos services d'assistance. Si vous avez besoin de l'assistance de DocuWare, nous ne pouvons vous la proposer que dans le cadre d'une offre payante. Dans ce cas, nous vous recommandons de contacter nos services professionnels avant d'entreprendre un tel projet en envoyant un courrier électronique à professional.services.emea@DocuWare.com ou professional.services.americas@DocuWare.com.
Cet article décrit ce que vous pouvez faire pour améliorer les performances de la base de données et en assurer la maintenance.
En plus d'une connaissance approfondie de la base de données DocuWare, nous avons rassemblé les principaux articles officiels de Microsoft SQL Database MSDN (Microsoft Developer Network) qui vous aideront à commencer à entretenir correctement une base de données MSSQL.
Le Microsoft Developer Network est la base de connaissances officielle de Microsoft.
Recommandations de bonnes pratiques :
Séparez vos données
Nous vous recommandons de ne pas placer l'emplacement de stockage de votre serveur de base de données sur la partition du système Windows. La partition du système Windows (généralement C:\N) est déjà utilisée pour le fichier d'échange et d'autres processus importants du système et peut donc déjà avoir un certain degré d'utilisation ou de charge.
Nous vous recommandons plutôt de stocker vos bases de données dans une partition séparée. Idéalement, les bases de données DocuWare sont physiquement séparées des autres bases de données. Cette séparation est non seulement recommandée pour assurer la performance du système, mais aussi pour faciliter le dépannage en cas d'urgence.
Le partitionnement suivant est recommandé :
propre partition physique ou virtuelle pour
- les bases de données (fichiers *.mdf)
- les journaux (fichiers *.ldf)
- le moteur du serveur SQL
Veillez à ce que les partitions ne se trouvent pas sur le même disque dur physique ou virtuel.
Maintenez vos index :
https://docs.microsoft.com/en-us/sql/relational-databases/indexes/reorganize-and-rebuild-indexes?view=sql-server-ver15
Des index fragmentés peuvent éventuellement ralentir votre système et vos processus de travail. Nous vous recommandons d'effectuer une maintenance mensuelle de ces index afin d'obtenir les meilleures performances possibles. Cela dépend de la taille du système et de la complexité des index utilisés.
Les index ne doivent pas se chevaucher et doivent être uniques.
https://docs.microsoft.com/en-us/sql/relational-databases/indexes/create-clustered-indexes?view=sql-server-ver15
https://docs.microsoft.com/en-us/sql/relational-databases/indexes/create-nonclustered-indexes?view=sql-server-ver15
Un index de base de données est une structure d'index dans une base de données, séparée de la structure des données, qui accélère la recherche et le tri par champs spécifiques.
Un index consiste en une collection de pointeurs (références) qui définissent une relation d'ordre avec une ou plusieurs colonnes d'une table. Si une colonne indexée est utilisée comme critère de recherche dans une requête, le système de gestion de base de données (SGBD) recherche les enregistrements souhaités à l'aide de ces pointeurs.
Sans index, la colonne devrait être recherchée une par une, alors qu'une recherche utilisant l'index n'aura qu'à rechercher les pointeurs à l'endroit où ils se réfèrent.
Veuillez revoir ces index tous les mois pour vous assurer qu'ils ne se chevauchent pas, car cela peut avoir un impact négatif sur les performances.
sys.dm_db_missing_index_details
https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-missing-index-details-transact-sql?view=sql-server-ver15
Ce script est très important et vous fournira des informations pertinentes sur les index manquants
Divisez votre base de données tempdb :
https://docs.microsoft.com/en-US/troubleshoot/sql/performance/recommendations-reduce-allocation-contention
Lorsque la base de données tempdb est fortement utilisée, SQL Server peut rencontrer des problèmes de contention lorsqu'il essaie d'allouer des pages. Selon le degré de contention, les requêtes et les demandes qui impliquent tempdb peuvent brièvement ne pas répondre.
Le pire scénario serait une requête de longue durée qui bloquerait d'autres processus.
Structurez vos armoires de fichiers au préalable
nous vous recommandons de construire vos armoires de fichiers en fonction de votre serveur MSSQL.
Plus il y a de colonnes, plus il y a de champs impliqués. Plus il y a de champs recherchés, plus les requêtes de base de données seront complexes et volumineuses sur votre serveur.
Il est plus judicieux d'avoir deux petites armoires de fichiers plutôt qu'une grande, à moins que votre serveur de base de données ne soit conçu et ne dispose des performances et de la maintenance nécessaires pour gérer cela.
Veuillez envisager de réduire le nombre total de champs d'indexation. Plus vous avez de champs d'index, plus les requêtes seront complexes et plus votre serveur SQL sera sollicité.
Connaissez votre serveur :
Les 3 plus grands impacts sur les performances se limitent à ces 3 sous-facteurs :
Mémoire (RAM)
CPU
Sous-système IO (par exemple, disques durs)
Microsoft recommande qu'une base de données tienne au moins une fois dans la RAM en raison de sa taille.
La plus grande partie d'une base de données DocuWare peut être constituée de textes intégraux. S'il n'est pas utilisé en totalité, cette règle empirique ne doit pas être respectée.
L'historique du flux de travail ou l'audit occupent également de l'espace.
Nous ne recommandons pas d'économiser sur le matériel. L'augmentation de la mémoire vive et de l'unité centrale peut résoudre des problèmes à court terme et éviter des pannes qui bloquent vos processus de travail.
Si vous rencontrez une charge élevée du côté de l'unité centrale, veuillez vérifier l'utilisation actuelle et si le nombre de cœurs est adapté à la taille et à l'architecture de votre ordinateur.
N'utilisez pas MSSQL Express Edition pour des environnements productifs qui dépassent nos recommandations de système :
MSSQL Server Express Edition a des limites en ce qui concerne l'utilisation du CPU et de la RAM :
MSSQLServer 2016 Express + Autres éditions
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2016?view=sql-server-ver15
MSSQLServer 2017 Express + Autres éditions
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2017?view=sql-server-ver15
MSSQLServer 2019 Express + Autres éditions
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?view=sql-server-ver15
Veuillez également consulter les articles MSDN officiels suivants de Microsoft, qui peuvent vous aider à maintenir la stabilité des performances de votre serveur de base de données
Conditions requises pour l'utilisation de tables optimisées pour la mémoire, de l'OLTP en mémoire et de l'optimisation de la mémoire
https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/requirements-for-using-memory-optimized-tables?view=sql-server-ver15
https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/in-memory-oltp-in-memory-optimization?view=sql-server-ver15
Options de configuration de la mémoire du serveur
https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/server-memory-server-configuration-options?view=sql-server-ver15
Surveillance de l'utilisation de la mémoire
https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/monitor-memory-usage?view=sql-server-ver15
Considérations relatives à la conception du serveur SQL
https://docs.microsoft.com/en-us/system-center/scom/plan-sqlserver-design?view=sc-om-2019&viewFallbackFrom=sc-om-1711
Vue d'ensemble de la sauvegarde (SQL Server)
https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/backup-overview-sql-server?view=sql-server-ver15
Le KBA s'applique UNIQUEMENT aux organisations sur site.
Veuillez noter : Cet article est une traduction de l'anglais. Les informations contenues dans cet article sont basées sur la ou les versions originales des produits en langue anglaise. Il peut y avoir des erreurs mineures, notamment dans la grammaire utilisée dans la version traduite de nos articles. Bien que nous ne puissions pas garantir l'exactitude complète de la traduction, dans la plupart des cas, vous la trouverez suffisamment informative. En cas de doute, veuillez revenir à la version anglaise de cet article.