• Aucun résultat trouvé

Windows Server 2008 R2

N/A
N/A
Protected

Academic year: 2022

Partager "Windows Server 2008 R2"

Copied!
39
0
0

Texte intégral

(1)

Windows Server 2008 R2

Installation de SQL Server 2008 R2 Express

Bouron Dimitri 31/01/2015

Ce document sert de démonstration concise pour l’installation et quelques bonnes pratiques pour un Windows SQL Server 2008 R2 Express.

(2)

Contenu

I. Introduction ... 2

II. Installation ... 2

A. Configuration de départ ... 2

B. Lancer l’installation ... 2

1. Les instances SQL Server ... 5

III. Configuration ... 17

A. Création de bases de données ... 17

B. Création de table ... 19

C. Création de Rôles de base de données ... 23

D. Création d’un utilisateur... 28

IV. Scripter la reconstruction ... 30

A. Préparer la reconstruction ... 30

1. DESTRUCTION !!!!!!! ... 33

2. Reconstruction ! ... 33

B. Sauvegardes / Backups ... 34

1. Sauvegarde complète ... 35

2. Sauvegarde différentielle ... 35

(3)

Page 2

I. Introduction

Cette procédure présente l’installation d’un Serveur de bases de données SQL sous Windows Server 2008 R2. Le logiciel utilisé pour le serveur de base de données sera Microsoft SQL Server 2008 R2 Express Edition with management tools.

Pour faciliter le téléchargement de cet outil, vous pourrez télécharger la version utilisée dans cette procédure en 32 et 64 bits grâce aux liens suivants :

SQL Server Express 32/64 bits (542 Mo) SQL Server Express 32 bits (264 Mo) SQL Server Express 64 bits (279 Mo)

La version Express de l’outil est une version gratuite, mais ne présente pas l’intégralité des fonctionnalités disponibles sur des versions supérieures (mais généralement payantes). Le lien suivant vous propose un descriptif complet sur les fonctionnalités disponibles pour chaque version de l’outil : https://technet.microsoft.com/library/cc645993%28sql.105%29.aspx

Il est donc évident au vu du peu de fonctionnalités disponibles sur cette version que cette procédure ne sera qu’un avant-goût des possibilités de l’outil. Le but premier étant simplement de présenter l’installation de l’outil.

II. Installation

A. Configuration de départ

Nous utiliserons un Windows Server 2008 R2 Entreprise SP1 64 bits vide (aucune installation de rôles, fonctionnalités, logiciels n’ayant été faite mise à part quelques modifications du registre). Nous utiliserons l’outil en version 64 bits.

B. Lancer l’installation

Une fois l’outil téléchargé sur le serveur, lancez l’installation en exécutant le fichier selon la configuration de votre serveur (32 bits / 64 bits : 64 pour cette démonstration).

Une fenêtre d’extraction s’affiche, il faut donc attendre.

(4)

Si vous ne l’avez jamais installé, le système vous demande d’installer Microsoft .NET Framework. Il suffit de cliquer sur OK.

Si vous avez cliqué sur Annuler, vous pouvez soit arrêter de lire ce qui va suivre car vous ne pourrez pas aller plus loin, soit installer manuellement le .NET Framework 3.5 en allant dans les fonctionnalités de votre serveur.

Si vous avez cliqué sur OK, il faut attendre… Le système ne vous affiche pas la progression d’installation, il fera apparaître une autre fenêtre pour vous informer qu’il va poursuivre l’installation (et donc qu’il a terminé l’installation du Framework).

Une fois qu’il a terminé il vous affiche la fenêtre du Centre d’installation SQL Server, nous n’allons pas détailler toutes les fonctionnalités de cet outil.

Pour commencer l’installation du serveur SQL, cliquez sur « Nouvelle installation ou ajout de fonctionnalités à une installation existante ».

(5)

Page 4

Puis il faudra attendre que le système vous affiche la fenêtre d’installation : Termes du contrat de licence. Évidemment, il faut cocher « J’accepte les termes du contrat de licence », puis cliquez sur

« Suivant ».

Il faut attendre… Il affichera ensuite la fenêtre de Sélection de fonctionnalités, sur la version Express nous n’en avons que 4. Cliquez sur « Sélectionner tout », modifier le répertoire des fonctionnalités partagées au besoin (la démonstration utilise une seule partition, il n’y a donc pas le choix du répertoire), puis cliquez sur « Suivant ».

(6)

La bonne pratique serait de sélectionner un autre disque et peut-être même en RAID pour une meilleure tolérance aux pannes (à voir si le service SQL à mettre en place est critique ou non).

La fenêtre Configuration de l’instance s’affiche. Avant d’aller plus loin, il est préférable de bien comprendre l’intérêt des instances.

1. Les instances SQL Server

Lorsque vous souhaitez mettre en place 10 serveurs différents, nécessitant 1Go de RAM chacun, vous n’allez pas acheter 10 serveurs physiques. Nous avons généralement recours à la virtualisation, on achète donc un seul serveur physique performant sur lequel nous mettrons en place une technologie de virtualisation (Hyper-V, VMWare, ProxMox, KVM, Xen, etc…). Vous avez donc 10 serveurs en 1 grâce à cela.

Imaginez une situation où vous êtes formateur, vous devez mettre à disposition de développeurs une technologie de bases de données SQL. Vous allez donc utiliser la virtualisation pour mettre en place un serveur de base de données SQL, mais dans certains cas il peut être nécessaire que chaque développeur ait son propre serveur de bases de données SQL car ils ne devront pas partager les mêmes ressources (utilisateurs, bases, etc…). Si vous aviez 2 ou 3 personnes dans votre classe vous pourriez certainement virtualiser un serveur par personne, mais si vous en avez plus d’une dizaine allez-vous réellement mettre en place autant de serveurs virtualisés ?

Autre situation, vous avez déjà un serveur en production et devez apporter une modification au projet en production. Vous ne pouvez bien évidemment pas faire les tests sur un service en production. Allez-vous réellement monter un serveur SQL seulement pour faire vos tests de bon fonctionnement ?

Le concept des instances SQL ressemble finalement à celui de la virtualisation. Une machine peut en héberger plusieurs, ce qui veut dire dans notre cas que les instances représentent des serveurs SQL virtualisés (en quelque sorte).

Les instances vont nous permettre de mettre à disposition un environnement totalement indépendant en ressources (utilisateurs, bases de données, etc…) à ne pas confondre avec les ressources systèmes et matérielles qui seront évidemment partagées. Ainsi vous aurez monté un seul serveur SQL et vous configurerez une instance pour chacun de vos élèves, ou vous pourrez créer une instance spécifique pour vos tests pré-production.

Les instances sont donc très pratiques dans certains cas, mais ne seront pas envisageables dans des cas où chaque instance serait très utilisée (les ressources physiques comme la mémoire, la connexion réseau, et surtout le processeur sont partagées).

Au sein de SQL Server 2008 R2 nous verrons deux types d’instances bien distinctes :

- Instance par défaut (une seule instance par défaut par ordinateur) : Lorsque vous souhaitez vous connecter à votre instance, il vous suffit de saisir le nom de votre serveur qui vous connectera à l’instance définie par défaut comme ceci : <serveur>.

(7)

Page 6

- Instance nommée : Lorsque vous souhaitez vous connecter à votre instance, vous devrez spécifier le nom de l’instance en plus du nom de votre serveur comme ceci :

<serveur>\<instance>.

Nous verrons plus tard les restrictions sur le nommage d’une instance.

Exemple par schéma de la différence entre utilisation de serveur par développeur et instance par développeur :

Isolation des ressources SQL

Isolation des ressources SQL Isolation des ressources SQL Isolation des ressources SQL

Serveur développeur 1

Développeur 1 Développeur 2 Développeur 3 Développeur 4

Serveur développeur 2

Serveur développeur 3

Serveur développeur 4

Instance développeur 1

Développeur 1 Développeur 2 Développeur 3 Développeur 4

Instance développeur 2

Instance développeur 3

Instance développeur 4

Serveur SQL

Isolation des ressources SQL Isolation des ressources SQL Isolation des ressources SQL Isolation des ressources SQL

Voilà qui termine l’explication du concept d’instances SQL. Nous allons maintenant pouvoir configurer notre première instance (un serveur SQL utilise obligatoirement une instance, la question est de savoir le nombre et le type).

(8)

Sur la fenêtre configuration de l’instance, on peut sélectionner le type de notre instance (par défaut ou nommée), nous avons déjà vu dans l’explication du concept d’instance la différence entre ces deux instances. Mais finalement comment choisir ?

Si on reprend nos deux situations présentées, dans le cas du formateur il faudrait faire autant d’instance nommées que de développeurs (éventuellement une ou deux de plus pour le formateur lui-même, il faut bien qu’il ait un support pour son cours, une fonctionnelle et une de démonstration etc…), dans le cas des tests pré-production il faudrait une instance par défaut pour le service en production et une instance nommée pour les tests pré-production.

Il est donc préférable d’utiliser des instances nommées pour différencier les instances les unes des autres, si vous savez par avance que le serveur n’aura qu’une instance vous pouvez choisir instance par défaut pour simplifier (il est toujours possible par la suite de créer une instance nommée ou plus).

Il n’y pas de particularités avec l’instance par défaut, en revanche il y a des restrictions de noms de pour les instances nommées que vous pouvez retrouver sur le Technet Microsoft dans Options / Instance nommée :

- Les noms d’instance ne respectent pas la casse.

- Les noms d’instance ne peuvent pas contenir le terme « Default » ou autres mots clés réservés. Si un mot clé réservé est utilisé dans le nom d’une instance, une erreur d’installation se produit. Pour plus d’informations sur ces mots clés réservés consultez cette page https://technet.microsoft.com/fr-fr/library/ms143507(v=sql.105).aspx.

- Si vous spécifiez MSSQLServer comme nom d’instance, une instance par défaut est créée.

Pour SQL Server Express, si vous spécifiez SQLExpress comme nom d’instance, une instance par défaut est créée.

- Microsoft SQL Server PowerPivot pour SharePoint est toujours installé comme une instance nommée de « PowerPivot ». Vous ne pouvez pas spécifier de nom d’instance différent pour ce rôle de fonctionnalité.

- Les noms d’instance sont limités à 16 caractères.

- Le premier caractère d’un nom d’instance doit être une lettre. Les lettres acceptables sont celles définies par la norme Unicode 2.0. Elles incluent les caractères latins a-z, A-Z et les caractères littéraux des autres langues.

- Les autres caractères d’un nom d’instance peuvent être des lettres définies par le standard Unicode 2.0, des nombres décimaux provenant de scripts de latin de base ou nationaux, le symbole dollar ($) ou le trait de soulignement/underscore (_).

- Les espaces incorporés ou autres caractères spéciaux ne sont pas autorisés dans les noms d’instance. La barre oblique inverse/antislash (\), la virgule (,), les deux-points (:), le point- virgule (;), le guillemet simple/simple quote (‘), l’esperluette/ET Commercial (&) et l’arobase (@) ne sont pas autorisés non plus.

On sélectionne donc le type « Instance nommée », puis on saisit le nom de notre instance (par défaut : SQLExpress, il faut modifier sinon cela créé une instance par défaut). Pour cette démonstration l’instance sera nommée : DEMONSTRATION.

(9)

Page 8

Ne pas oublier de modifier le répertoire racine de l’instance et de la déplacer sur un espace de stockage avec tolérance au panne (exemple : RAID, etc…), puis cliquez sur « Suivant ».

Sur la fenêtre Configuration du serveur, il est recommandé de ne pas utiliser le même compte pour tous les services SQL Server. On va conserver la configuration par défaut, cliquez sur « Suivant ».

(10)

Sur la fenêtre Configuration du moteur de base de données, on a bon nombre d’informations à renseigner :

- Dans l’onglet Attribution de privilèges d’accès aux comptes, vous pouvez sélectionner la méthode d’authentification à l’instance (cette instance seulement). Le mode par défaut

« Authentification Windows », ne permet de s’identifier à l’instance que par le biais de son compte utilisateur (envisageable en environnement Active Directory). Il est préférable d’utiliser le mode mixte qui nous permet de faire comme le mode d’authentification Windows mais aussi de créer des utilisateurs SQL.

Il faudra saisir le mot de passe de l’administrateur système (sa) qui nous sera utile ensuite pour la première configuration de l’instance (création des utilisateurs, etc…).

- Dans l’onglet Répertoire de données, modifiez les chemins pour les placer sur votre espace avec tolérance aux pannes comme précédemment (au besoin).

- Dans l’onglet FILESTREAM, cochez la case « Activer FILESTREAM pour l’accès Transact-SQL », puis cochez la case « Activer FILESTREAM pour l’accès en continu aux E/S de fichier ».

Puis cliquez sur « Suivant ».

(11)

Page 10

Dans cette démonstration, le serveur n’a qu’une seule partition donc impossible de changer le disque.

(12)

Sur la fenêtre Création de rapports d’erreurs, cocher la case si vous en ressentez le besoin, puis cliquez sur « Suivant ».

L’installation de votre instance se lance, il faut attendre… et c’est long (vous pouvez prendre un café)…

(13)

Page 12

Une fois le café fini, la fenêtre Terminée s’affiche pour vous informer de la fin de l’installation du service et de l’instance. Vous pouvez vérifier que l’installation s’est bien déroulée grâce au fichier journal donné en haut de la fenêtre, puis cliquez sur « Fermer ».

Fermez la fenêtre du centre d’installation, allez dans le menu Démarrer / Tous les programmes / Microsoft SQL Server 2008 R2 / Outils de configuration, cliquez sur « Gestionnaire de configuration SQL Server ».

(14)

La fenêtre Sql Server Configuration Manager apparaît, dans la liste du gestionnaire de configuration SQL Server (Local) sur la gauche, cliquez sur « Services SQL Server ».

Puis sur la zone principale, faites un clic droit sur « SQL Server (<votre instance>) », puis cliquez sur

« Propriétés ».

Dans l’onglet FILESTREAM, vérifiez que les cases à cocher lors de l’installation précédente le sont bien (si vous aviez oublié de le faire vous pouvez le faire ici), une fois fait cliquez sur « OK ».

(15)

Page 14

Retournons dans la zone de gauche, déroulez (cliquer sur +) l’arborescence de « Configuration du réseau SQL Server », puis cliquez sur « Protocoles pour <votre instance>.

Dans la zone principale, faites un clic droit sur « Canaux nommés » puis cliquez sur « Activer ».

Une fenêtre d’information sur le fait de devoir redémarrer le service suite au changement effectué apparaît, cliquez sur « OK ».

Toujours dans la zone principale, faites un clic droit sur « TCP/IP » puis cliquez sur « Activer ».

La même fenêtre d’information apparaît, cliquez sur « OK ».

Vous devez maintenant avoir les trois protocoles suivants activés :

(16)

Dans la zone de gauche, cliquez à nouveau sur « Services SQL Server ».

On va comme demandé à deux reprises, redémarrer le service SQL de l’instance. Faites un clic droit sur « SQL Server (<votre instance>) », puis cliquez sur « Redémarrer ».

Une fois que le service a bien redémarré, fermez la console Sql Server Configuration Manager.

Allez dans le menu Démarrer / Tous les programmes / Microsoft SQL Server 2008 R2, épinglez « SQL Server Management Studio » à votre menu démarrer ou votre bureau ou à votre barre des tâches (ou pas), puis lancez-le.

(17)

Page 16

L’outil de configuration ouvert, une fenêtre Se connecter au serveur s’affiche.

Pour le type de serveur, on sélectionne « Moteur de base de données ».

Pour le nom du serveur, on saisit le NOM DU SERVEUR (et non son IP) suivit du nom de l’instance si vous avez choisi l’instance nommée, si vous avez choisi instance par défaut il suffit de saisir le nom du serveur.

Pour le mode d’authentification, sélectionnez celui que vous voulez (si vous aviez choisi le mode d’authentification Windows vous n’avez pas le choix). Pour la suite de la démonstration nous n’utiliserons pas l’authentification Windows mais SQL Server).

Dans Connexion, saisissez l’identifiant de connexion de l’administrateur (sa).

Dans Mot de passe, saisissez le mot de passe de l’administrateur (définit lors de l’installation).

Pour des raisons de sécurité ne cochez pas la case « Mémoriser le mot de passe » (surtout si vous utilisez le compte administrateur !).

Une fois les informations saisies, cliquez sur « Se conn. ».

Vous verrez ainsi apparaître dans l’explorateur d’objets votre connexion à l’instance. Vous pouvez initier plusieurs connexions à la même instance (voir différentes instances aussi) dans la même fenêtre qui seront affichées dans l’explorateur d’objets à gauche.

(18)

L’installation est donc complète, vous pouvez vous connecter à votre instance. Voyons maintenant comment faire pour créer les bases de données, les tables, les utilisateurs et rôles utilisateurs, comment exécuter des requêtes SQL, etc…

III. Configuration

Nous allons voir désormais quelques étapes de configuration citées ci-dessus.

A. Création de bases de données

Pour créer une nouvelle base de données, déroulez l’arborescence « Bases de données », on peut voir un répertoire « Bases de données système » auquel nous ne pourrons pas ajouter de bases.

Faites un clic droit sur « Bases de données », puis cliquez sur « Nouvelle base de données… ».

La fenêtre Nouvelle base de données apparaît.

Saisissez dans « Nom de la base de données » le nom que vous souhaitez donner à votre nouvelle base de données.

Pour « Propriétaire », cliquez sur le bouton […], dans la fenêtre Sélectionner le propriétaire de la base de données cliquez sur « Parcourir… », cochez [sa] puis cliquez sur « OK », puis cliquez à nouveau sur

« OK ».

(19)

Page 18

Vous pouvez cliquer sur « OK » dans la fenêtre Nouvelle base de données.

Une fois fait, l’explorateur d’objet nous permet de visualiser la nouvelle base.

(20)

B. Création de table

Pour créer une table, vous devez dans l’explorateur d’objet déplier l’arborescence de votre base de données, puis déplier l’arborescence de « Tables ».

Tout comme pour les bases de données, un répertoire système apparaît dans « Tables » mais nous n’y touchons pas.

Faites un clic droit sur « Tables », puis cliquez sur « Nouveau table… ».

Un onglet s’ouvre avec différentes zones de propriétés.

(21)

Page 20

Il est donc assez aisé à partir de cette interface de créer notre table. On va donc saisir le nom de notre colonne, le type des données pour la colonne et cocher la case pour autoriser ou non les valeurs NULL.

Vous pouvez vous aider des types de données renseignées dans la liste déroulante proposée, mais il est préférable de connaître parfaitement les types de données sans s’aider de cette liste et donc de saisir à la main les types désirés.

Sinon, Christian Robert a réalisé un magnifique tableau, qui ne donne absolument pas envie de le lire quand on l’ouvre mais qui est parfait pour comprendre tous les types de données et ce qu’ils font.

La page du site L'URL du tableau

Maintenant qu’on a trois colonnes, on va aller jeter un œil du côté des propriétés de chaque colonne.

On retrouve dans la section Général, les informations données précédemment (nom, type, valeurs Null).

On va donc s’intéresser ici à la section Concepteur de tables. Vous pouvez ajouter une Description (utile pour savoir ce que contiendra la colonne, pourquoi, etc…), on va ensuite s’intéressé à

« Spécification du compteur » qui sert à créer des id avec incrémentation automatique. Pour l’utiliser il faut passer la valeur « (Est d’identité) à « Oui ».

Ensuite on va définir la valeur de départ et la valeur d’incrémentation :

(22)

- Incrément d’identité : Indique de combien est incrémentée la valeur à chaque nouvelle création de ligne dans la table.

- Valeur initiale de la propriété identity : Indique la valeur de départ du compteur pour la première ligne créée dans la table.

À utiliser/modifier selon les besoins évidemment.

Maintenant nous allons définir que la colonne id est une clé primaire, pour cela sélectionnez votre colonne à définir comme clé primaire, cliquez sur le menu « Concepteur de tables » puis cliquez sur

« Définir la clé primaire ».

Si l’action fonctionne, vous pouvez voir une icône de clé apparaître dans la table sur la ligne de votre colonne.

Pour supprimer une clé primaire, même processus mais l’option « Définir la clé primaire » devient

« Supprimer la clé primaire ».

(23)

Page 22

Ce même menu vous permettra d’ajouter ou supprimer une colonne (si vous voulez ajouter une colonne à un endroit précis, plutôt que de tout refaire vous pouvez cliquer sur la colonne à l’emplacement où vous voulez ajouter votre nouvelle colonne).

Une fois les colonnes prêtes, dans les Propriétés à droite, modifiez le nom de votre table comme désiré dans la section Identité, à la ligne Nom.

Attention, vous devez maintenant enregistrer votre table !

Pour enregistrer, allez dans le menu « Fichier » et cliquez sur « Enregistrer <votre table>.

Vous pouvez voir une fois que votre table est bien créée qu’elle apparaît dans l’explorateur d’objets.

(24)

Pour ajouter des valeurs graphiquement dans une table, faites un clic droit sur votre table et cliquez sur « Modifier les 200 lignes du haut » (ce qui veut évidemment dire qu’il y a une limite à son utilisation, savoir utiliser les commandes INSERT INTO est préférable).

Vous aurez donc un tableau qui apparaît vous permettant de saisir des valeurs.

C. Création de Rôles de base de données

Le fonctionnement même des Rôles de base de données correspond au fonctionnement des groupes Windows. Si la bonne pratique dans un environnement Active Directory est de limiter l’attribution de droits aux utilisateurs en utilisant le plus souvent possible les groupes, alors pour SQL on crée des Rôles dans lesquels on ajoutera ensuite nos utilisateurs.

Dépliez l’arborescence jusqu’à afficher la liste des Rôles de base de données.

On peut donc voir qu’il y a un certain nombre de Rôles générés automatiquement, mais nous n’y toucherons pas.

Il faut donc créer les Rôles en fonction des besoins de chacun, un rôle pour les logiciels, un rôle pour les scripts, un rôle pour les administrateurs, un rôle pour les développeurs, un rôle pour les utilisateurs, etc… (Tout dépend de votre situation, il est donc important d’étudier cette question pour votre projet).

(25)

Page 24

Pour créer un nouveau Rôle, faites un clic droit sur « Rôles de base de données », puis cliquez sur

« Nouveau rôle de base de données… ».

La fenêtre Nouveau rôle de base de données apparaît.

Saisissez un nom pour votre rôle.

Saisissez dbo comme propriétaire.

Puis cliquez sur « OK ».

Une fois le rôle créé, on va ajouter les droits sur la base de données pour ce rôle.

(26)

Faites un clic droit sur votre base de données, puis cliquez sur « Propriétés ».

La fenêtre Propriétés de la base de données - <votre base de données> apparaît, sélectionnez la page

« Autorisations » dans la liste de gauche.

Cliquez sur « Rechercher », la fenêtre Sélectionner des utilisateurs ou des rôles apparaît (vérifiez que

« Rôles de base de données » apparaît dans la liste des types d’objets, si ce n’est pas le cas cliquez sur « Types d’objets… » pour l’y ajouter), cliquez sur « Parcourir… ».

(27)

Page 26

La fenêtre Rechercher des objets apparaît avec une liste d’objets (Nom et Type), cochez la case correspondante au(x) rôle(s) souhaité(s), puis cliquez sur « OK ».

De retour sur la fenêtre Sélectionner des utilisateurs ou des rôles, vous pouvez voir le ou les rôles sélectionnés précédemment apparaître dans la liste, cliquez sur « OK ».

Vous pouvez désormais voir apparaître la liste des rôles/utilisateurs dans la fenêtre des autorisations.

On va donc maintenant définir les autorisations pour ce rôle, on sélectionne le rôle voulu puis on se place dans les autorisations explicites (Onglet Explicite).

(28)

Il y a une grande quantité de droits, les droits les plus utilisés sont : - Authentifier ;

- Créer une table ; - Exécuter ; - Insérer ; - Mettre à jour ; - Modifier ; - Sélectionner ; - Supprimer.

Une fois les droits attribués, cliquez sur « OK ».

Il faut faire de même avec chaque table !

(29)

Page 28

D. Création d’un utilisateur

Maintenant voyons comment créer un utilisateur.

Repliez toute l’arborescence pour n’afficher que les répertoires de la racine, dépliez ensuite l’arborescence de « Sécurité » jusqu’à « Connexions », faites un clic droit sur « Connexions » et cliquez sur « Nouvelle connexion… ».

La fenêtre Nouvelle connexion apparaît, on part du principe où l’on créé une authentification SQL Server.

Saisissez le nom d’accès de l’utilisateur (son login).

Saisissez le mot de passe.

Cochez les options qui vous intéressent concernant les stratégies de mot de passe.

Modifier la base de données par défaut si nécessaire, un administrateur qui aura les droits sur toutes les bases de données n’a pas besoin de ce genre d’attention, en revanche pour un utilisateur ayant un droit sur une base de donnée unique il sera préférable de modifier la valeur pour renseigner la base de données à laquelle il a droit.

Modifier la langue par défaut pour vous assurer que la langue soit celle désirée.

(30)

Sélectionnez ensuite dans la zone de gauche la page « Mappage de l’utilisateur ».

Cochez les bases de données auxquelles l’utilisateur aura accès.

Puis pour chaque base de données cochée, dans « Appartenance au rôle de base de données : <votre base de données>, cochez le ou les rôles désirés (assurez que le rôle « public » soit bien coché).

Pour finir, cliquez sur « OK ».

On peut désormais voir notre nouvel utilisateur apparaître dans l’explorateur d’objets.

(31)

Page 30

IV. Scripter la reconstruction

Maintenant voyons rapidement comment générer les scripts de reconstruction, mais pourquoi faire ça ?

Ils y a plusieurs bonnes raisons de générer ces scripts :

- Construction d’une infrastructure de tests : Si ce serveur est un serveur en Production, ces scripts permettront à l’avenir de générer un environnement identique pour les tests avant la mise en production des changements effectués.

- PRA / PCA : La raison la plus importante est évidemment pour mettre en place le Plan de Reprise d’Activité (PRA) et le Plan de Continuité d’Activité (PCA). Si vous conservez en lieu sûr vos scripts de reconstruction et vos sauvegardes (backup), vous êtes certains d’être capables de remettre en place votre service devenu indisponible pour x raisons.

Ce chapitre n’est donc pas à négliger, nous verrons donc la reconstruction et les backups.

A. Préparer la reconstruction

Nous allons voir comment générer un script qui va nous permettre de reconstruire nos bases de données, nos tables, nos rôles de bases de données, nos utilisateurs.

Dépliez l’arborescence jusqu’à votre base de données, faites un clic droit sur votre base de données, affichez la liste des tâches puis cliquez sur « Générer des scripts… ».

La fenêtre Générer et publier des scripts apparaît, par défaut on arrive sur la page Introduction, cliquez sur « Suivant ».

(32)

Sur la page Sélectionner les objets, sélectionnez l’option « Sélectionner des objets de base de données spécifiques », puis dépliez l’ensemble des arborescences pour voir ce que vous pouvez ajouter à votre script et ainsi sélectionner ce qui devra être reconstruit. Pour la démonstration nous allons tout sélectionner. Une fois que votre choix est fait cliquez sur « Suivant ».

Sur la page Définir les options de script, sélectionnez dans Type de sortie « Enregistrer les scripts à un emplacement spécifique », puis « Enregistrer dans le fichier » / Fichier à générer : « Fichier unique » / Nom de fichier : Sélectionner le nom et l’emplacement pour votre script (évidemment il ne faut pas l’enregistrer sur ce serveur et si possible ne pas l’enregistrer sur un disque qui se trouverait au même endroit physique que votre serveur, si il y a un incendie dans votre salle serveur vous perdez tout),

(33)

Page 32

pensez même à faire des copies de scripts pour être certains de toujours avoir une copie de votre script opérationnelle en cas de panne/incident/etc…

Pour cette démonstration évidemment le script sera enregistré sur le serveur mais ce n’est pas ce qu’il faut faire en production.

Cochez l’option « Remplacer le fichier » existant peut s’avérer utile si vous voulez écraser un script qui porte le même nom, puis sélectionnez l’option « Texte Unicode ». Cliquez sur « Suivant ».

On va devoir modifier les options avancées sans quoi le script ne reconstruit pas tout ! Cliquez sur « Avancé » et ajoutez les options suivantes :

- Générer un script pour les autorisations au niveau objet ; - Générer un script pour les connexions ;

- Inclure IF NOT EXISTS ;

- Types de données à inclure dans le script : Schéma et données.

Sur la page Résumé, cliquez sur « Suivant ».

(34)

Puis sur la page Enregistrer ou publier des scripts, cliquez sur « Terminer ».

1. DESTRUCTION !!!!!!!

Nous allons maintenant détruire la base entière et l’utilisateur, comme si nous partions de zéro.

Cela signifie que nous simulons un incident majeur qui nous a forcé à réinstaller un nouveau serveur ou alors simplement que tout a disparu.

Clic droit sur la base de données puis « Supprimer », cocher l’option « Fermer les connexions existantes », puis cliquez sur « OK ».

Clic droit sur l’utilisateur puis « Supprimer », puis cliquez sur « OK » et encore une fois sur « OK » lors du message d’avertissement.

Il n’y a donc plus rien, mais nous avons notre plan de reconstruction.

2. Reconstruction

Pour commencer la reconstruction, ouvrez votre script dans Microsoft SQL Server Management Studio, normalement un simple double clic sur le script suffit.

(35)

Page 34

Une fois le double clic fait, vous pourrez voir apparaître le script dans la console SQL.

On va maintenant lancer l’exécution du script, pour cela cliquez sur « Exécuter ».

Une fois exécuté, vérifiez l’état de vos utilisateurs pour être certains que l’option Connexion est toujours « Activé » (Clic droit sur l’utilisateur, « Propriétés », Page : « État »). Il faudra aussi réinitialiser son mot de passe éventuellement si la connexion ne fonctionne pas.

B. Sauvegardes / Backups

Nous allons voir comment générer un script permettant de créer les sauvegardes de nos bases de données.

Faites un clic droit sur votre base de données, affichez la liste des tâches puis cliquez sur

« Sauvegarder… ».

La fenêtre Sauvegarder la base de données - <votre base de données> apparaît.

(36)

Selon vos besoins, sélectionnez le type de sauvegarde (Complète ou Différentielle, reste à savoir la différence)

1. Sauvegarde complète

Lorsque vous planifier un plan de sauvegardes complètes, chaque fichier de sauvegarde contiendra l’intégralité de vos données sauvegardées. Ce qui signifie qu’il est très facile de comprendre ce que contient telle ou telle sauvegarde et donc le fonctionnement de la restauration est lui-même facile à comprendre (on veut restaurer les données à partir d’un backup datant du jour x, alors on prend le backup pour ce jour et on sait qu’il contient toutes nos données). C’est aussi le mode de restauration le plus rapide.

Si le répertoire sauvegardé fait 1 Go de données, alors chaque sauvegarde fera 1 Go de données (si on ne compresse pas). Lors d’une restauration on restaure le contenu de la sauvegarde et c’est terminé.

2. Sauvegarde différentielle

Les sauvegardes complètes sont trop couteuses (en termes d’espace), le principe de la sauvegarde différentielle est comme son nom l’indique de sauvegarder uniquement les différences, mais les différences par rapport à quoi ?

La sauvegarde différentielle fera une première sauvegarde dite complète, ensuite les prochaines sauvegardes ne conserveront que les modifications apportées depuis la sauvegarde complète. Le mode de restauration est plus long.

Si vous faite une sauvegarde d’un répertoire de 1 Go de données, alors la première sauvegarde dite complète fera 1 Go (encore une fois on part du principe qu’on ne compresse pas). Puis les prochaines sauvegardes ne contiendront que les modifications, c’est-à-dire que si entre la première et la deuxième sauvegarde, quelqu’un à apporter des modifications à trois fichiers alors la deuxième sauvegarde contiendra ces trois fichiers modifiés, puis si entre la deuxième et la troisième sauvegarde on crée un nouveau fichier alors la troisième sauvegarde contiendra les trois fichiers modifiés de la deuxième sauvegarde ainsi que le nouveau fichier. Lors d’une restauration on restaure le contenu de la sauvegarde complète puis une fois fait on restaure le contenu de la sauvegarde souhaitée (par rapport à la date de restauration voulue) qui écrasera les vieux fichiers modifiés depuis.

La sauvegarde différentielle est donc moins couteuse en espace disque que la sauvegarde complète (mais reste plus couteuse que la sauvegarde incrémentale que nous ne présenterons pas ici car non supportée avec le script).

Pour cette démonstration il n’y a donc évidemment pas de choix plus adapté qu’un autre (on choisira Complète qui est proposé par défaut). Évidemment ce choix est un élément de réflexion très important.

Sélectionnez la destination pour votre sauvegarde, le nom, etc...

(37)

Page 36

Dans la page Options, vous pouvez définir les options pour modifier le comportement de votre script de sauvegarde, et ainsi ajouter ou non la compression dans la section Compression. Pour plus de fiabilité vous pouvez cocher les options de fiabilité selon vos besoins.

Une fois que vous avez tout préparé, vous pouvez cliquer sur « Script » et sélectionner « Action de script vers le fichier ».

Enregistrez le script où vous souhaitez.

Puis exécutez la sauvegarde pour vérifier que la sauvegarde fonctionne (si non le script ne fonctionnera certainement pas).

On a désormais un script SQL qui fait des backups, c’est bien mais ça ne nous sert à rien pour l’instant… On va donc mettre en place une planification de tâches sur notre serveur pour exécuter le script de sauvegarde selon nos besoins.

Allez dans le menu démarrer / Tous les programmes / Outils d’administration, cliquez sur le Planificateur de tâches.

(38)

Sur le planificateur, cliquez sur l’action « Créer une tâche ».

Nommer votre tâche avec un nom explicite et donnez-lui une description pour que l’on comprenne à quoi elle sert mais aussi savoir la périodicité de son exécution.

Dans l’onglet Déclencheurs, cliquez sur « Nouveau… » pour définir l’évènement qui exécutera cette tâche.

Ce genre de tâches se faits « À l’heure programmée » de manière générale.

Pour le reste des paramètres cela dépend du choix et de vos besoins. Pour cette démonstration ce sera le lundi, le mercredi et le vendredi à 00h00 toutes les semaines.

(39)

Page 38 Dans l’onglet Actions, cliquez sur « Nouveau… ».

On veut exécuter un script SQL donc utilisera l’action du type « Démarrer un programme ».

Dans Paramètres on doit choisir le programme/script à exécuter… ON NE CHOISIT PAS LE SCRIPT SQL !!! Pourquoi ? Avez-vous essayez de double-cliquer votre script sql ? Ça ouvre bêtement le script dans votre console donc ne sert à rien.

On va donc utiliser l’outil sqlcmd.

On renseigne ensuite en arguments :

-S <serveur>\<instance> -i "<chemin absolu vers votre script SQL>"

Pour la démonstration cela donne :

-S W2008R2-SQL\DEMONSTRATION –i "C:\Users\Administrateurs\Desktop\save_démo.sql"

Cliquez sur « OK », puis validez la tâche.

Vérifiez dans la bibliothèque des tâches que votre tâche apparaît bien, pour vérifier le bon fonctionnement vous allez faire une recherche sur votre fichier de Backup déjà créé et le supprimer.

Une fois supprimé, faites un clic droit sur votre tâche et cliquez sur « Exécuter », puis retournez dans le répertoire où s’enregistre votre backup et vérifiez si oui ou non il est présent.

Si votre Backup a réapparu alors votre script et votre tâche sont fonctionnels.

Il faudra ensuite vérifier que votre tâche s’exécute automatiquement.

Chose importe que vous devrez faire aussi est d’étudier le fonctionnement du backup de votre script (dans cette démonstration, le script ajoute dans un fichier de Backup la sauvegarde, donc toutes les sauvegardes sont ajoutées dans un même fichier).

Références

Documents relatifs

Que vous cherchiez à rendre vos machines virtuelles plus mobiles, à augmenter leur disponibilité, à gérer des environnements mutualisés, à monter en charge ou à gagner

Les services de rôle disponibles sont : – Serveur NPS : permet la mise en place des stratégies d'accès réseau pour les demandes de connexion.. – Autorité HRA : émission

2.2 Fonctionnalités de l’Active Directory sous Windows Server 2008 R2.. 19 2.2.1 Installation d’un annuaire

2.2 Fonctionnalités de l’Active Directory sous Windows Server 2008 R2. 19 2.2.1 Installation d’un annuaire

Public visé : Informaticiens, ingénieurs systèmes, administrateurs Objectifs : Décrire les composants clés pour concevoir des infrastructures réseaux, Décrire

Composants utilisés pour le routage et l’accès à distance Service utilisé pour la configuration du routage et de l’accès à distance : Rôles du serveur &gt; Service VPN.

- Dans le dossier /var/unattended/install/os, créer un dossier winXP (attention, si vous voulez utiliser plus loin le script n-install.sh, il vous faut indiquer ce nom en

Avant de commencer, vous devez savoir qu’il est nécessaire de maîtriser un minimum les fonctionnalités de base d’un domaine Windows Server 2008 (à savoir