Qu'est-ce que la base de données ressource ?
La base de données ressource, également connue sous le nom de base de données ressource ou RDB, est une base de données cachée et en lecture seule dans SQL Server. Microsoft SQL Server est un système de gestion de base de données relationnelle (SGBDR) créé et commercialisé par Microsoft. Comme d'autres logiciels de base de données relationnelle, SQL Server prend en charge le langage de requête structuré (SQL) pour travailler avec des bases de données relationnelles. L'outil d'interface principal pour SQL Server est SQL Server Management Studio (SSMS), qui fonctionne sur les systèmes 32 bits et 64 bits.
De nombreux utilisateurs de SQL Server associent les bases de données système à quatre bases de données :
- Base de données master : La base de données master contient toutes les informations au niveau du système pour une instance de SQL Server.
- Base de données model : La base de données model est utilisée par l'agent SQL Server pour planifier des alertes et des tâches.
- Base de données MSDB : Cette base de données sert de modèle pour toutes les bases de données créées sur l'instance SQL Server. Toute modification apportée à la base de données model, telle que la taille de la base de données, le modèle de récupération et d'autres paramètres de la base de données, est appliquée aux bases de données suivantes.
- Base de données TEMPDB : La base de données tempdb agit comme un espace de travail qui stocke des éléments temporaires ou des ensembles de résultats intermédiaires.
La base de données ressource est la cinquième base de données. Elle complète la base de données master car SQL Server en dépend désormais. Elle contient tous les objets système inclus avec SQL Server 2005 et au-delà. Les objets système tels que sys.objects sont physiquement stockés dans la base de données ressource, mais ils existent également logiquement dans le schéma sys de chaque base de données.
La base de données ressource ne peut contenir que des objets système et ne peut pas stocker de données utilisateur ou de métadonnées. Les procédures stockées, les vues de catalogue et les procédures étendues sont des exemples de code T-SQL système pré-créé stocké dans la base de données ressource.
Le nom réel de la base de données ressource est mssqlsystemresource. La base de données ressource a un fichier de données et un fichier journal nommés mssqlsystemresource.mdf et mssqlsystemresource.ldf, respectivement, et sont situés, par défaut, dans <lettre du lecteur>:\Program Files\Microsoft SQL Server\MSSQL<numéro de version>.<nom_instance>\MSSQL\Binn\.
La base de données ressource simplifie et accélère le processus de mise à niveau vers une nouvelle version de SQL Server. Auparavant, la mise à jour de SQL Server impliquait de supprimer et de recréer des objets système. Étant donné que le fichier de la base de données ressource contient tous les objets système, les administrateurs peuvent effectuer une mise à jour en transférant simplement les fichiers de la base de données ressource (mssqlsystemresource.mdf et mssqlsystemresource.ldf) sur le serveur local.
Pourquoi la base de données ressource est-elle importante ?
L'objectif principal d'une base de données ressource est de rendre les mises à jour du serveur aussi rapides et efficaces que possible. Étant donné que tous les objets système sont présents dans la base de données ressource, les administrateurs de bases de données (DBA) peuvent écraser les anciens fichiers de la base de données ressource avec les nouveaux fichiers de la base de données ressource lors de la mise à niveau.
Cette action mettra à jour tous les objets système dans la base de données. Dans les versions antérieures de SQL Server, tous les objets système devaient être supprimés et recréés lors du processus de mise à niveau, ce qui prenait du temps. De plus, l'installation échouait si l'un des objets manquait ou causait un problème.
Meilleures pratiques pour la base de données ressource
Il n'y avait pas de base de données ressource dans SQL Server 2000 et les versions antérieures. Elle a été introduite pour la première fois dans SQL Server 2005, rendant les mises à niveau plus accessibles et plus rapides. Chaque instance de serveur SQL dans une base de données a un ID. Le nombre maximal de bases de données pouvant être stockées dans une seule instance est de 32767. C'est également l'ID de la base de données ressource, et il est le même pour chaque base de données ressource dans chaque instance. En conséquence, la base de données ressource reçoit l'ID de base de données maximal possible de l'instance.
Beaucoup de gens ignorent l'existence de la base de données ressource en raison de son statut caché. Certains DBA croient que puisque c'est une base de données, elle nécessite le même niveau d'entretien qu'une base de données traditionnelle, ce qui n'est pas tout à fait correct. Cela peut entraîner plus de problèmes à l'avenir.
Voici quelques meilleures pratiques à suivre lors de l'utilisation d'une base de données ressource :
- Évitez de déplacer les fichiers de la base de données ressource. Bien que des procédures spéciales existent pour transférer les fichiers d'autres bases de données système, changer l'emplacement du fichier de la base de données ressource n'est ni encouragé ni conseillé. La mise à niveau de SQL Server peut entraîner l'installation d'une nouvelle base de données ressource, qui stocke définitivement ses fichiers à cet emplacement fixe.
- Soyez cohérent avec les sauvegardes pour restaurer la base de données ressource. La base de données ressource ne peut pas être sauvegardée ou restaurée en utilisant les procédures de sauvegarde et de restauration typiques utilisées pour d'autres bases de données dans SQL Server car elle n'est pas accessible à l'aide des outils SQL Server. Même si l'extension de fichier de données de la base de données ressource est .mdf, elle peut être traitée comme un fichier .exe. Les administrateurs peuvent utiliser cette méthode pour créer une sauvegarde basée sur un fichier ou un disque.
- Appliquez un service pack à plusieurs instances en utilisant la base de données ressource. Le DBA doit copier les fichiers mssqlsystemresource.mdf et mssqlsystemresource.ldf vers l'instance cible pour administrer un service pack à plusieurs instances.
- Utilisez la base de données ressource pour annuler les modifications. Si un DBA doit annuler les modifications apportées par les service packs, les administrateurs doivent remplacer les fichiers .mdf et .ldf par ceux d'une version précédemment sauvegardée.

Keerthi Rangan
Keerthi Rangan is a Senior SEO Specialist with a sharp focus on the IT management software market. Formerly a Content Marketing Specialist at G2, Keerthi crafts content that not only simplifies complex IT concepts but also guides organizations toward transformative software solutions. With a background in Python development, she brings a unique blend of technical expertise and strategic insight to her work. Her interests span network automation, blockchain, infrastructure as code (IaC), SaaS, and beyond—always exploring how technology reshapes businesses and how people work. Keerthi’s approach is thoughtful and driven by a quiet curiosity, always seeking the deeper connections between technology, strategy, and growth.