Publié le 23/05/2008 par Another
La base de données 'resource' de son vrai nom 'mssqlsystemressource' est la base de données système SQL Server 2005. Cette base contient les objets systèmes, les procédures stockées et les fonctions. Cette base est inaccessible avec les outils classiques tels que Management Studio. Je vous propose dans le poste ci-dessous une manipulation qui vous permet de visualiser le contenu de la base système de SQL Server 2005.
La solution développée ici repose sur la mise en ligne d'une copie de la base de données. Pour ce faire, il faut arrêter SQL Server, copier les fichiers de la DB, les renommer, redémarrer le serveur SQL, est créer une nouvelle base de données FOR ATTACH en spécifiant le chemin d'accès aux fichiers dupliqués
Notez que cette méthode vous fourni une copie de la base ressource, et que vous pouvez tout fracasser à l'intérieur sans que cela n'est d'impact avec le fonctionnement de SQL Server.
Dans un premier temps effectuez un arrêt de votre instance SQL Server
La base de données systèmes de SQL Server est stockée dans le répertoire d'installation de SQL Server 2005. Par défaut dans le dossier suivant :
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data
La base est constitué de 2 fichiers, un fichier data (mssqlsystemresource.mdf) et un fichier log (mssqlsystemresource.ldf).
Copier ces deux fichiers dans le répertoire de votre choix et renommer-les.
Maintenant que nous avons la copie de la base resource, nous allons procéder à son rattachement dans SQL Server, pour ce faire redémarrer le serveur SQL, lancez SSMS, et ouvrez une nouvelle requête.
Exécutez le script ci-dessous pour créer votre base de données (pensez à modifier le chemin d'`acces a vos fichiers si vous n'avez pas la même arborescence que dans cet exemple) :
CREATE DATABASE mssqlsystemresource_copy ON (NAME = data, FILENAME = 'C:\DATA\ResourceDB\mssqlsystemresource_copy.mdf'), (NAME = log, FILENAME = 'C:\DATA\ResourceDB\mssqlsystemresource_copy.ldf') FOR ATTACH;
Dans l'explorateur d'objet, vous apercevez la base de données mssqlsystemresource_copy, gérée par SSMS comme une base de données classique, vous pouvez maintenant consulter tout le contenu. (Procédures stockées système, fonctions ...)