SQL Server 2016 pour les administrateurs IT

Découvrir les bases de données système

Testez gratuitement nos 1324 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Les bases de données système sont au nombre de quatre. Étudiez leur rôle, puis déterminez s'il faut les sauvegarder.
07:00

Transcription

En termes d'objets système, nous avons aussi des bases de données système. Ça n'a rien à voir avec les vues du système. Les vues du système sont des vues de catalogues dans des bases de données, ici on parle de bases de données spéciales qui sont maintenues par SQL Server et utilisées en interne par SQL Server. Il y a en a quatre. Il y en a en réalité cinq, mais ce n'est pas très intéressant. Il y en a une cinquième qui s'appelle « resource » et qui contient tout le code des vues système dont on a parlées. On va se concentrer sur ces quatre bases de données. Il peut y en avoir également une cinquième si vous faites de la réplication qui s'appelle en général « distribution ». Ça va être la base de données de distribution en réplication. On parlera de ça. La première s'appelle « master ». Cette base de données est un peu le squelette de SQL Server, même si elle ne contient plus grand chose de nos jours, mais c'est une base de données indispensable. Elle va contenir quelques tables système qui vont indiquer quelles sont les bases de données qui sont attachées, comme « PachaDataFormation ». Je vous montre. Je vais ici dans « master ». « SELECT * FROM », je ne peux pas voir directement les tables système mais je vais utiliser une vue système qui s'appelle « sys.databases », et je vais avoir la liste des bases de données. Vous voyez que ces bases de données on un « id » et « 1 », « 2 », « 3 », « 4 », ce sont les bases de données système. À partir de « 5 », je vais avoir des bases de données utilisateur. Ici, « PachaDataFormation » c'est « 6 » parce que « test » c'était la base de données « 5 » mais je l'ai supprimée. Ces informations sont requêtées dans la base de données « master ». Dans la base de données « master », je vais avoir également les informations des comptes, les login, qui ont été créé dans SQL Server pour permettre l'authentification des sessions. Je peux regarder ça dans « sys.server_principals ». Un « principal », dans le langage SQL Server, c'est un utilisateur, un login, un objet, on va dire quelqu'un, pas forcément quelqu'un, ça peut être un rôle sur lequel on peut donner des permissions, qui peut être authentifié dans le système. Les « principaux » de serveurs, ce sont des logins. Vous voyez que vous avez, à la fois, des rôles et des logins Windows, des logins SQL. On reviendra sur cette partie sécurité. C'est juste pour vous montrer ce qu'il y a dans « master », il y a peu de choses finalement. Il y a encore les messages d'erreur, vous pouvez créer vos propres messages. Ça ne fait pas beaucoup de choses. « master » est important, certes, mais il ne contient pas d'informations qui vont être modifiées très régulièrement. Si vous faites des sauvegardes de vos bases de données système, vous pouvez sauvegarder « master » régulièrement mais il n'y a pas vraiment d'importance à la sauvegarder très régulièrement. Ensuite nous avons la base de données « model ». On en a déjà parlé et il n'y a pas grand chose de plus à en dire. C'est une base de données squelette ou template. Lorsque vous créez une base de données, elle va reprendre les caractéristiques de « model ». C'est donc pratique si vous voulez changer une propriété de cette base de données, sa taille par exemple, au niveau de ses fichiers, ou certaines options, de façon à ce que, chaque fois que vous créez une nouvelle base de données, celle-ci reprenne les options de « model ». Ça peut être pratique de le changer si vous créez régulièrement des bases de données sur votre serveur, ce qui n'est pas le cas tous les jours, dans toutes les situations. « msdb ». Comme son nom l'indique : « ms » pour Microsoft, la base de données Microsoft. Elle va contenir beaucoup d'informations intéressantes qui viennent des fonctionnalités qui entourent SQL Server. Par exemple, elle contient toutes les informations de l'agent, le planificateur de tâches, lorsque vous créez une tâche de backup, une tâche de sauvegarde, lorsque vous créez un travail dans l'agent qui va peut-être exporter des données régulièrement, de façon planifiée, lorsque vous faites une sauvegarde, comme je pourrais le faire ici, dans « Tâches », sauvegarder la base de données, chaque fois, il va y avoir des informations qui vont être écrites et maintenues dans « msdb ». Toutes les informations de l'agent sont dans « msdb ». L'historique d'un certain nombre de choses comme les sauvegardes que j'effectue sont dans « msdb ». C'est une base de données qui est importante, qu'il faut sauvegarder régulièrement, et qui aurait tendance à grandir, donc il faut surveiller sa taille. Et enfin : « tempdb ». Celle-ci est particulière, c'est une base de données poubelle, on pourrait dire. Il fallait bien créer une base de données pour y déposer des objets temporaires. Ces objets temporaires sont de plusieurs natures. Il peut y avoir dans du code SQL, la création de tables temporaires. Les tables temporaires, on les écrit comme ceci. Je fais faire un « CREATE TABLE », je suis dans « master » ou dans « PachaDataFormation », peu importe, et je créé une table que je préfixe par le signe « # », éventuellement, c'est plus rare, « ## », pour avoir une table temporaire globale, mais peu importe ici, il faut que ça commence par au moins un « # ». À ce moment-là, la table ne va pas être créée dans la base de données dans laquelle je me trouve. Mais, si je vais dans « tempdb », j'ai « Tables » et « Tables temporaires ». J'ai donc des tables temporaires, notamment une table qui s'appelle « matable » avec beaucoup de soulignés, et à la fin, le numéro 62. Il s'agit d'un unifiant parce qu'on peut créer le même nom de table temporaire dans plusieurs sessions. Tous les utilisateurs peuvent créer en même temps le même nom de table temporaire, ce qui va se créer dans « tempdb » avec « matable », plein de soulignés et un numéro unifiant pour chaque session. Il ne s'agit pas du numéro de la session, c'est quelque chose qui est géré en interne. « tempdb » va contenir ces objets. Il va contenir aussi des objets temporaires générés par l'exécution des requêtes, et aussi des versions de lignes, des versions de données au besoin, lorsque le moteur SQL en aura besoin. C'est une base de données qui va beaucoup travailler. Il est intéressant de l'optimiser, comme on l'a fait déjà dans l'installation. Il est intéressant, dans des systèmes de production, de déplacer les fichiers sur un disque dédié. Il est intéressant, en tous cas, de la soigner parce que vous pouvez avoir des applications qui utilisent beaucoup de tables temporaires. Ça peut être une habitude, parfois une mauvaise habitude des développeurs, de surutiliser les tables temporaires et donc de charger « tempdb ». « tempdb » est recréé à chaque redémarrage de SQL Server donc « tempdb » va être complètement vidé. De toute façon, ces tables temporaires vont disparaître lorsque la session va se fermer. Si je fais ça, vous voyez qu'elle a disparu. Donc les tables temporaires sont détruites petit à petit mais elles sont également détruites lorsque SQL Server s'arrête. On peut créer des tables physiques réelles non temporaires dans « tempdb ». Elles seront également détruites puisque « tempdb » est supprimée et recréée au démarrage.

SQL Server 2016 pour les administrateurs IT

Comprenez le fonctionnement et les différents modules qui composent SQL Server. Prenez en main les bases de données, les schémas, les tables, la gestion des fichiers, etc.

5h20 (55 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :14 mars 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !