Transcript
Page 1: alphorm.com - Formation SQL Server 2012 (70-462)

Présentation de la formation :Microsoft SQL Server 2012,

administration (70-462)

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Microsoft SQL Server 2012, administration (70-462)

Page 2: alphorm.com - Formation SQL Server 2012 (70-462)

Le formateur

�Noureddine DRISSI

� Mathématicien de formation

� Spécialisée dans la base de données

� 15 années d’expérience sur tous les SGBDR du marché (SQL Server, Oracle, Postgresql, Mysql, DB2, MongoDB)

SQL Server 2012, administration (70-462) alphorm.com™©

� Issue de l’environnement bancaire

[email protected]

Page 3: alphorm.com - Formation SQL Server 2012 (70-462)

Connaissances préalables

�Connaissances de base du système d’exploitation Windows

� Expérience professionnelle de Transact-SQL

� Expérience professionnelle des bases de données relationnelles

� Expérience en matière de conception de bases de données

SQL Server 2012, administration (70-462) alphorm.com™©

Page 4: alphorm.com - Formation SQL Server 2012 (70-462)

A propos de ce cours

�Objectifs

� Installer et configurer SQL Server 2012;

� gérer des fichiers de base de données;

� sauvegarder et restaurer des bases de données;

� gérer la sécurité;

SQL Server 2012, administration (70-462) alphorm.com™©

� gérer la sécurité;

� analyser et comprendre SQL Server 2012;

� transférer les données dans et à partir de SQL Server 2012;

� automatiser des tâches d’administration;

� comprendre et optimiser l’architecture de SQL Server;

� répliquer des données entre instances SQL Server 2012.

Page 5: alphorm.com - Formation SQL Server 2012 (70-462)

Qu’est-ce qu’un SGBDR ?

� SQL Server est un Système de Gestion de Base de Données Relationnelle (SGBDR)

� SQL Server 2012 est chargé de :

� stocker les données,

� vérifier les contraintes d’intégrité définies,

� garantir la cohérence des données qu’il stocke, même en cas de panne (arrêt brutal) du système,

SQL Server 2012, administration (70-462) alphorm.com™©

système,

� assurer les relations entre les données définies par les utilisateurs.

� SQL Server est un Système de Gestion de Base de Données intégré à Windows à plusieurs niveaux

� Observateur des événements, Analyseur de performances, Traitements parallèles, Sécurité, Active Directory.

Page 6: alphorm.com - Formation SQL Server 2012 (70-462)

Certification

Cette formation prépare au passage de l'examen de certificationMicrosoft 70-462 : Administering Microsoft SQL Server 2012 Databases.

SQL Server 2012, administration (70-462) alphorm.com™©

Page 7: alphorm.com - Formation SQL Server 2012 (70-462)

Environnement du cours

SERVEUR-SQL01

MSSQLSERVER

Instance

SQL Server 2012, administration (70-462) alphorm.com™©

CLIENT-SQL01INSTANCE02

Instance

INSTANCE03

Instance

Page 8: alphorm.com - Formation SQL Server 2012 (70-462)

Introduction à la base Gescom

�Dans les ateliers pratique de ce cours, nous allons travailler avec une base de données modèle que l’on nommera GESCOM.

�Au fil des ateliers pratique, nous allons ajouter des fonctionnalités à la base de données GESCOM.

�Cette base de données servira de fil conducteur pour l’ensemble des démonstration (sauvegarde, transfert, fichiers data, réplication, optimisation, etc.)

SQL Server 2012, administration (70-462) alphorm.com™©

démonstration (sauvegarde, transfert, fichiers data, réplication, optimisation, etc.)

Page 9: alphorm.com - Formation SQL Server 2012 (70-462)

Introduction à la base Gescom

Base: GESCOM

Schéma: stagiaire

Instance MSSQLSERVER

Tables Vues

SQL Server 2012, administration (70-462) alphorm.com™©

Vues matérialiséesIndexes

synonyms …

Page 10: alphorm.com - Formation SQL Server 2012 (70-462)

Introduction au modèle de données

SQL Server 2012, administration (70-462) alphorm.com™©

Page 11: alphorm.com - Formation SQL Server 2012 (70-462)

GO

SQL Server 2012, administration (70-462) alphorm.com™©

GO

Page 12: alphorm.com - Formation SQL Server 2012 (70-462)

Les outils d'administration de SQL Server 2012 - SSMS

SQL Server 2012, administration (70-462) alphorm.com™©

SQL Server 2012 - SSMS

Page 13: alphorm.com - Formation SQL Server 2012 (70-462)

Installation et configuration de SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

SQL Server 2012

Les étapes du processusd’installation de SQL Server 2012

Page 14: alphorm.com - Formation SQL Server 2012 (70-462)

Objectifs du module

�Comprendre les étapes du processus d ’installation de SQL Server 2012

�Préparer l’installation avec l’outil de configuration système

�Réalisation d’une installation manuelle et d’une installation automatisée

� Choix des composants à installer

� Type d’installation (instance nommée / par défaut)

SQL Server 2012, administration (70-462) alphorm.com™©

� Type d’installation (instance nommée / par défaut)

� Mode de sécurité (Windows / SQL Server)

Page 15: alphorm.com - Formation SQL Server 2012 (70-462)

Les étapes du processus d’installation de SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Server 2012

Page 16: alphorm.com - Formation SQL Server 2012 (70-462)

Vue d’ensemble du processus

Mise à jour des composants .NET Framework 3.5.1 + SP1

Utiliser l’outil d’analyse de configuration système

Choisir les composants à installer

2

3

Programme d’installation

SQL Server 2012, administration (70-462) alphorm.com™©

Choisir le mode d’installation

Installer les composants

4

5

Vérifier l’installation6

Page 17: alphorm.com - Formation SQL Server 2012 (70-462)

Analyse de configuration système

Configuration logicielle requise

Configuration matérielle requises

Vérification de la configuration pour l’installation

SCC

SQL Server 2012, administration (70-462) alphorm.com™©

Vérification des conditions de sécurité

Vérification de l’état du système

SCC = System Configuration Checker

Page 18: alphorm.com - Formation SQL Server 2012 (70-462)

Réalisation d’une installation manuelle

SQL Server 2012, administration (70-462) alphorm.com™©

Page 19: alphorm.com - Formation SQL Server 2012 (70-462)

Prochain module :

Installation de SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Installation de SQL Server 2012

Page 20: alphorm.com - Formation SQL Server 2012 (70-462)

Installation et configuration de SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

SQL Server 2012

Installation automatique de SQL Server 2012

Page 21: alphorm.com - Formation SQL Server 2012 (70-462)

Installation automatique de SQL Server 2012

�Mise en oeuvre

� Création d’un fichier de configuration .ini

� Démarrage de l’installation automatisée

setup.exe /CONFIGURATIONFILE=chemin d’accès au fichier .ini

SQL Server 2012, administration (70-462) alphorm.com™©

Page 22: alphorm.com - Formation SQL Server 2012 (70-462)

Les outils d'administration de SQL Server 2012 - SSMS

SQL Server 2012, administration (70-462) alphorm.com™©

SQL Server 2012 - SSMS

Page 23: alphorm.com - Formation SQL Server 2012 (70-462)

SQL Server Management Studio

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Les outils d’administration

Page 24: alphorm.com - Formation SQL Server 2012 (70-462)

Objectifs du chapitre

�Réaliser une installation automatique

SQL Server 2012, administration (70-462) alphorm.com™©

Page 25: alphorm.com - Formation SQL Server 2012 (70-462)

Vérifier et valider une installation SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Server 2012

Page 26: alphorm.com - Formation SQL Server 2012 (70-462)

Les bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

2012

Architecture globale

Page 27: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration d’une base de données

�Une base de données

� Contient deux types de fichiers

• Fichiers de données

- Fichier primaire de données (obligatoire, extension .mdf)

• Contient le catalogue de base de données

SQL Server 2012, administration (70-462) alphorm.com™©

• Contient le catalogue de base de données

- Fichier secondaire de données (facultatif, extension .ndf)

• Contient les objets et les données utilisateurs

• Fichiers journaux (au moins 1, extension .ldf)

- Enregistre toutes les modifications de la base de données

Page 28: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration d’une base de données

�Fonctionnement des fichiers journaux

Cache de donnéesINSERT,UPDATE,DELETE

Processus SQL ServerBloc de

8K

SQL Server 2012, administration (70-462) alphorm.com™©

010101011101

Processus SQL Server

010101011101

010101011101

Fichier journalFichiers

Data 12

8K

Page 29: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration d’une base de données

�Les fichiers de données

� Rattaché à une seule base de données

� Structuré en pages de 8 K

- Les pages contiennent les enregistrements

- Unité d’échange entre le cache de données et les fichiers de données

SQL Server 2012, administration (70-462) alphorm.com™©

- Unité d’échange entre le cache de données et les fichiers de données

- La taille maximale d’une ligne est de 8060 octets (hors type text et image)

- Chaque page contient un type bien précis de données

Page 30: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration d’une base de données

�Structure des fichiers de données

Fichiers Data

Bloc de 8K

SQL Server 2012, administration (70-462) alphorm.com™©

8K

Extension 64K

Page 31: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration d’une base de données

�Les extensions

� Regroupement contigus de blocs de 8K

� Taille d’une extension 64K (8 * 8)

� Création automatique des extensions lorsque il y a besoin de plus de place

Deux types d’extensions

SQL Server 2012, administration (70-462) alphorm.com™©

� Deux types d’extensions

- Mixtes

• Contient les données de plusieurs objets (mutualisé)

- Uniformes

• Contient les données d’un seul objet (spécialisé)

Page 32: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration d’une base de données

�Structure des fichiers de données

Fichiers Data

Bloc de 8K

Table T1

Table T2

Table T3

SQL Server 2012, administration (70-462) alphorm.com™©

8K

Extension 64K

Page 33: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion d’une base de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

données SQL Server 2012

Page 34: alphorm.com - Formation SQL Server 2012 (70-462)

Les bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Gérer une base de données

Page 35: alphorm.com - Formation SQL Server 2012 (70-462)

Gérer une base de données

�Gestion de l’espace disque

� Autoextend ON (accroissement dynamique)

� Autoextend OFF (accroissement manuel)

� Ajout de fichiers

Libération de l’espace inutilisé

SQL Server 2012, administration (70-462) alphorm.com™©

� Libération de l’espace inutilisé

Page 36: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration d’une base de données

�Modifier un fichier en transact SQL

ALTER DATABASE <nomBaseDeDonnées > MODIFY FILE (spécificationFichier)[;]

SpécificationFichier:

(NAME = nomLogique,

NEWNAME = nouveauNomlogique,

SQL Server 2012, administration (70-462) alphorm.com™©

NEWNAME = nouveauNomlogique,

FILENAME = ’cheminEtNomDuFichier’

[,SIZE = taille [KB|MB|GB|TB]]

[,MAXSIZE={tailleMaximum[KB|MB|GB|TB]|UNLIMITED}]

[,FILEGROWTH = pasIncrement [KB|MB|GB|TB|%]]

)

Page 37: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration d’une base de données

�Ajouter un fichier en transact SQL

ALTER DATABASE <nomBaseDeDonnées> ADD FILE (spécificationFichier)[;]

SQL Server 2012, administration (70-462) alphorm.com™©

Page 38: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration d’une base de données

�Libérer de l’espace disque inutilisé

� SHRINKDATABASE

• Compacte l’ensemble des fichiers de la base

• Les extensions utilisées sont stockées de façon contiguë en début du fichier

SQL Server 2012, administration (70-462) alphorm.com™©

fichier

• Impossible de redescendre en dessous de la taille initiale du fichier

• Le compactage intervient en différé pour les fichiers journaux

Page 39: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration d’une base de données

�SHRINKDATABASE

� Syntaxe :

DBCC SHRINKDATABASE { nom_base_données | id_base_données | 0 }

[,pourcentage_cible] [,{NOTRUNCATE|TRUNCATEONLY}])

SQL Server 2012, administration (70-462) alphorm.com™©

• pourcentage_cible: préciser en pourcentage l’espace libre souhaité dans le fichier après compactage

• NOTRUNCATE: ne rend pas l’espace libre au système d’exploitation

• TRUNCATEONLY: libération de l’espace inutilisé dans les fichiers, compacte le fichier à la dernière extension allouée, pas de réorganisation physique des données, « pourcentage_cible » est ignoré

Page 40: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration d’une base de données

�SHRINKFILE

� Opération de compactage et réduction au niveau fichier

� Syntaxe :

DBCC SHRINKFILE ([nom_fichier | id_fichier] {[[,taille_cible] [,{NOTRUNCATE|TRUNCATEONLY}]] | EMPTYFILE}

SQL Server 2012, administration (70-462) alphorm.com™©

[,{NOTRUNCATE|TRUNCATEONLY}]] | EMPTYFILE}

• taille_cible: taille finale souhaitée exprimée en méga-octet

• EMPTYFILE: permet de distribuer les données de ce fichier vers les autres fichiers du même groupe pour eventuellement le supprimer

Page 41: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration d’une base de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

données SQL Server 2012

Page 42: alphorm.com - Formation SQL Server 2012 (70-462)

Les bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Les groupes de fichiers

Page 43: alphorm.com - Formation SQL Server 2012 (70-462)

Les groupes de fichiers

�Structure logique

• Permet de regrouper des fichiers de données et de les gérer comme des unités logique

�Deux types de groupes de fichiers

• Primaire

SQL Server 2012, administration (70-462) alphorm.com™©

• Primaire

• Défini par l’utilisateur

Page 44: alphorm.com - Formation SQL Server 2012 (70-462)

Les groupes de fichiers

�Utilisation

• Répartition des données par type (tables, indexes)

• Répartition des données pour la charge IO

SQL Server 2012, administration (70-462) alphorm.com™©

Page 45: alphorm.com - Formation SQL Server 2012 (70-462)

Les groupes de fichiers

�Création

� Syntaxe

ALTER DATABASE <nom_base_données>

ADD FILEGROUP <nom_groupe_fichier[;]>

SQL Server 2012, administration (70-462) alphorm.com™©

Page 46: alphorm.com - Formation SQL Server 2012 (70-462)

Les groupes de fichiers

�Ajout de fichiers au groupe

� Syntaxe

ALTER DATABASE <nom_base_données >

ADD FILE <spécification fichier>

TO FILEGROUP <nom_groupe_fichier>

SQL Server 2012, administration (70-462) alphorm.com™©

TO FILEGROUP <nom_groupe_fichier>

Page 47: alphorm.com - Formation SQL Server 2012 (70-462)

Le partitionnement sous SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

SQL Server 2012

Page 48: alphorm.com - Formation SQL Server 2012 (70-462)

Les bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Le partitionnement

Page 49: alphorm.com - Formation SQL Server 2012 (70-462)

Le partitionnement

�Objectifs

• Diviser des tables volumineuses en plusieurs tables

• Optimiser le stockage (stockage sur différents groupes de fichiers)

• Montée en charge

SQL Server 2012, administration (70-462) alphorm.com™©

Page 50: alphorm.com - Formation SQL Server 2012 (70-462)

Le partitionnement

�Exemple

SQL Server 2012, administration (70-462) alphorm.com™©

Page 51: alphorm.com - Formation SQL Server 2012 (70-462)

Le partitionnement

� Implémentation

• Définir une fonction de partitionnement

• Définir un schéma de partionnement

• Créer les tables partitionnées

Possibilité de créer un index sur une table partitionnée

SQL Server 2012, administration (70-462) alphorm.com™©

- Possibilité de créer un index sur une table partitionnée

• L’index crée est partitionné selon la table

Page 52: alphorm.com - Formation SQL Server 2012 (70-462)

Le partitionnement

�Fonction de partitionnement

• Définir la clé de partitionnement (champ de répartition pertinent)

• Permet de répartir les données entre les différentes partitions

• Permet d’orienter les données sur un groupe de fichier ou un autre

Utilise des plages de valeurs bornées

SQL Server 2012, administration (70-462) alphorm.com™©

• Utilise des plages de valeurs bornées

Page 53: alphorm.com - Formation SQL Server 2012 (70-462)

Les groupes de fichiers

�Création d’une fonction de partitionnement

� Syntaxe

CREATE PARTITION FUNCTION <nomfonction> ( parametre_type)

AS RANGE [ LEFT | RIGHT ] FOR VALUES ( [ valeurLimite [ ,... ] ]

SQL Server 2012, administration (70-462) alphorm.com™©

Parametre: colonne de tous types sauf timestamp, varchar(max), nvarchar(max) et varbinary utilisé pour calculer la clé de partitionnement.

valeurLimite: valeur marquant la frontière de chaque partition.

Page 54: alphorm.com - Formation SQL Server 2012 (70-462)

Le partitionnement

�Schema de partitionnement

• Permet d’affecter chaque partition à un groupe de fichiers

• Possibilité de spécifier plus de groupe de fichiers que de partitions définis

• Possibilité d’affecter toutes les partitions à un seul groupe de

SQL Server 2012, administration (70-462) alphorm.com™©

• Possibilité d’affecter toutes les partitions à un seul groupe de fichiers (non recommandé)

Page 55: alphorm.com - Formation SQL Server 2012 (70-462)

Les groupes de fichiers

�Création d’un schéma de partitionnement

� Syntaxe

CREATE PARTITION SCHEME nomSchemaPartition

AS PARTITION nomFonctionPartition

[ ALL ] TO ( { groupeDeFichier | [ PRIMARY ] } [,_] )

SQL Server 2012, administration (70-462) alphorm.com™©

[ ALL ] TO ( { groupeDeFichier | [ PRIMARY ] } [,_] )

[ ; ]

nomSchemaPartition: identifiant du schéma de partitionnement.

nomFonctionPartition: nom de la fonction de partitionnement associée au schéma.

groupeDeFichier: nom du ou des groupes de fichiers utilisés par les différentes partitions.

Page 56: alphorm.com - Formation SQL Server 2012 (70-462)

Les groupes de fichiers

�Création de la table partitionnée

� Syntaxe

CREATE TABLE nomTable(

definitionColonne [,...]

) ON

SQL Server 2012, administration (70-462) alphorm.com™©

) ON

nomSchemaPartition(colonneUtiliséePourCalculerLaPartition)[;]

Page 57: alphorm.com - Formation SQL Server 2012 (70-462)

Les groupes de fichiers

�Création d’un index partitionné

� Syntaxe

CREATE INDEX nomIndex

ON nomTable(colonne1,...)

ON nomSchemaPartition(colonneDePartition);

SQL Server 2012, administration (70-462) alphorm.com™©

ON nomSchemaPartition(colonneDePartition);

Page 58: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration d’une base de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

données SQL Server 2012

Page 59: alphorm.com - Formation SQL Server 2012 (70-462)

Les bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Configurer une base de données

Page 60: alphorm.com - Formation SQL Server 2012 (70-462)

Configurer une base de données

�Les bases de données par défaut

• master base de données système

• model base de données modèle pour les nouvelles bases de données

• msdb base de stokage des alertes et travaux pour l’agent SQL Server

tempdb base de stockage desd objets et données temporaires

SQL Server 2012, administration (70-462) alphorm.com™©

• tempdb base de stockage desd objets et données temporaires

Page 61: alphorm.com - Formation SQL Server 2012 (70-462)

Configurer une base de données

�Les options de configuration

• AUTO_SHRINK {ON|OFF} => IsAutoShrink

• READ_ONLY, READ_WRITE => Updateability

• SINGLE_USER, RESTRICTED_ USER, MULTI_USER => UserAccess

AUTO_CREATE_ STATISTICS { ON | OFF } => IsAutoCreateStatistics

SQL Server 2012, administration (70-462) alphorm.com™©

• AUTO_CREATE_ STATISTICS { ON | OFF } => IsAutoCreateStatistics

• AUTO_UPDATE_ STATISTICS { ON | OFF} => IsAutoUpdateStatistics

• AUTO_CLOSE => IsAutoClose

• RECOVERY => recovery

• AUTRE => status, collation

Page 62: alphorm.com - Formation SQL Server 2012 (70-462)

Configurer une base de données

�Afficher la valeur des options

�Fonction DATABASEPROPERTYEX

• Syntaxe

SELECT DATABASEPROPERTYEX(‘NomBase',‘NomOption');

Utilisation de sys.databases

SQL Server 2012, administration (70-462) alphorm.com™©

�Utilisation de sys.databases

SELECT name,collation_name,user_access_desc,state_desc FROM sys.databases;

�Les autres procédures

• sp_helpdb, sp_spaceused

Page 63: alphorm.com - Formation SQL Server 2012 (70-462)

Configurer une base de données

�Modification des options de configuration

• En TRANSACT-SQL

- Syntaxe

ALTER DATABASE <nomBaseDeDonnees> SET option [;]

SQL Server 2012, administration (70-462) alphorm.com™©

Page 64: alphorm.com - Formation SQL Server 2012 (70-462)

Configurer une base de données

�Modification des options de configuration

• Avec SQL Server Management Studio

SQL Server 2012, administration (70-462) alphorm.com™©

Page 65: alphorm.com - Formation SQL Server 2012 (70-462)

Les transactions

SQL Server 2012, administration (70-462) alphorm.com™©

Page 66: alphorm.com - Formation SQL Server 2012 (70-462)

Les bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Les transactions

Page 67: alphorm.com - Formation SQL Server 2012 (70-462)

Les transactions

�Une transaction, c’est quoi ?

• Un ensemble ATOMIQUE

- Soit la totalité des instructions est validée soit la totalité des instructions est annulée

- En résumé: soit tout, soit rien

SQL Server 2012, administration (70-462) alphorm.com™©

- En résumé: soit tout, soit rien

Page 68: alphorm.com - Formation SQL Server 2012 (70-462)

Les transactions

�Description

BEGIN TRAN | TRANSACTION [nom transaction]

INSTRUCTION 1

INSTRUCTION 2

SAVE TRAN <nom>

TRANSACTION ATOMIQUE

SQL Server 2012, administration (70-462) alphorm.com™©

ROLLBACK { TRAN | TRANSACTION } [nomTransaction|nomPointArret][;]

COMMIT { TRAN | TRANSACTION } [nomTransaction] [;]

INSTRUCTION 2

INSTRUCTION n

SAVE TRAN <nom>

Page 69: alphorm.com - Formation SQL Server 2012 (70-462)

Les transactions

�Les verrous sous SQL Server

• Verrous au niveau

- Table

- Enregistrement

Page

SQL Server 2012, administration (70-462) alphorm.com™©

- Page

Page 70: alphorm.com - Formation SQL Server 2012 (70-462)

Le mode de récupération sous SQL Server

SQL Server 2012, administration (70-462) alphorm.com™©

sous SQL Server

Page 71: alphorm.com - Formation SQL Server 2012 (70-462)

Les bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Mode de récupération

Page 72: alphorm.com - Formation SQL Server 2012 (70-462)

Les fichiers journaux

�Fonction des fichiers journaux

� Journaliser toutes les transactions

• LMD: INSERT, UPDATE, DELETE

• Création d’index

Enregistrer les valeurs avant et après modifications

SQL Server 2012, administration (70-462) alphorm.com™©

� Enregistrer les valeurs avant et après modifications

� Garantir la cohérence et la durabilité des données (COMMIT)

� Utilisé pour les opérations de restauration

Page 73: alphorm.com - Formation SQL Server 2012 (70-462)

Cache de données SQL Server

Les fichiers journaux

� Fonctionnement

8ko

Point de synchronisation Journalisation 1

2

INSERT, UPDATE, DELETE

SQL Server 2012, administration (70-462) alphorm.com™©

Fichier journal: .ldfFichier de

données: .mdf ou .ndf

synchronisation Journalisation 12

Page 74: alphorm.com - Formation SQL Server 2012 (70-462)

Les fichiers journaux

�Checkpoint (synchronisation)

� CHECKPOINT< temps exécution>

�Lecture des fichiers journaux

• Fonction ::fn_dblog

SQL Server 2012, administration (70-462) alphorm.com™©

Page 75: alphorm.com - Formation SQL Server 2012 (70-462)

Les fichiers journaux

�Mode récupération ?

� Option de configuration de base de données

� Contrôle la façon dont les transactions sont journalisées

� Impacte sur les performances et la récupération

SQL Server 2012, administration (70-462) alphorm.com™©

Page 76: alphorm.com - Formation SQL Server 2012 (70-462)

Les fichiers journaux

�Les modes de récupérations

� simple

• Limite la journalisation de la majorité des transactions

• Le journal est tronqué après chaque CHECKPOINT

Ne permet pas de restaurer en utilisant le journal des transactions (PITR)

SQL Server 2012, administration (70-462) alphorm.com™©

• Ne permet pas de restaurer en utilisant le journal des transactions (PITR)

• Impossible de restaurer des pages de données individuelles

• Rapide et limite la taille du fichier journal

Page 77: alphorm.com - Formation SQL Server 2012 (70-462)

Les fichiers journaux

�Les modes de récupérations

� complet

• Par défaut

• Toutes les transactions sont écrites dans le journal

Ne tronque pas le fichier journal

SQL Server 2012, administration (70-462) alphorm.com™©

• Ne tronque pas le fichier journal

• Permet une restauration PITR ou a un point de défaillance

• Génère beaucoup d’IO et taille importante du fichier journal

Page 78: alphorm.com - Formation SQL Server 2012 (70-462)

Les fichiers journaux

�Les modes de récupérations

� journalisé en bloc

• Journalise de façon minimale les opérations de masse

- SELECT INTO

- BULK INSERT

SQL Server 2012, administration (70-462) alphorm.com™©

- BULK INSERT

• Permet une restauration à la fin de la sauvegarde du journal

• Ne permet une restauration PITR ou a un point de défaillance

• Utilisé uniquement pour les opérations de chargement en bloc

Page 79: alphorm.com - Formation SQL Server 2012 (70-462)

Les fichiers journaux

�Les modes de récupérations

� Configuration (SQL)

ALTER DATABASE <nom base> SET RECOVERY FULL | SIMPLE | BULK_LOGGED

SQL Server 2012, administration (70-462) alphorm.com™©

Page 80: alphorm.com - Formation SQL Server 2012 (70-462)

La compression de données

SQL Server 2012, administration (70-462) alphorm.com™©

Page 81: alphorm.com - Formation SQL Server 2012 (70-462)

Les bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

La compression des données

Page 82: alphorm.com - Formation SQL Server 2012 (70-462)

La compression des données

�Compression des objets

� Tables

� Indexes

� Données utilisateurs uniquement (pas possible sur les tables systèmes)

SQL Server 2012, administration (70-462) alphorm.com™©

Page 83: alphorm.com - Formation SQL Server 2012 (70-462)

Le cryptage des données sous SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

sous SQL Server 2012

Page 84: alphorm.com - Formation SQL Server 2012 (70-462)

Les bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Le cryptage des données

Page 85: alphorm.com - Formation SQL Server 2012 (70-462)

Les clés et les certificats

�Les différents types de clés

� Symétrique

• Même clé qui sert à chiffrer et à déchiffrer

� Asymétrique

Une clé qui chiffre (clé publique) et une qui déchiffre (clé privée)

SQL Server 2012, administration (70-462) alphorm.com™©

• Une clé qui chiffre (clé publique) et une qui déchiffre (clé privée)

Page 86: alphorm.com - Formation SQL Server 2012 (70-462)

Les clés et les certificats

�Les certificats, qu’est ce que c’est ?

� Associe une clé publique à une identité qui détient cette clé

� Un certificat contient

• Des informations identifiant le sujet (nom, mail)

Une période de validité

SQL Server 2012, administration (70-462) alphorm.com™©

• Une période de validité

• Des informations identifiant l’émetteur et la signature numérique

Page 87: alphorm.com - Formation SQL Server 2012 (70-462)

Les clés et les certificats

�Hiérarchie de chiffrage SQL Server

Clé maître de service

Clé maître de base de données

Clé maître de base de données

SQL Server 2012, administration (70-462) alphorm.com™©

Clé asymétrique

Certificat

Clé asymétrique

Page 88: alphorm.com - Formation SQL Server 2012 (70-462)

Les clés et les certificats

�Clé maître de service

� Permet de chiffrer

• Toutes les clés maître de bases de données, chaîne de connexion,mots de passe de serveur lié,...

� Sauvegarde de la clé maître de service

SQL Server 2012, administration (70-462) alphorm.com™©

BACKUP SERVICE MASTER KEY TO FILE=‘chemin_nom’ ENCRYPTION BY PASSWORD=‘mot_de_passe’

� Restauration de la clé maître de service

RESTORE SERVICE SERVICE MASTER KEY FROM FILE=‘chemin_nom’ ENCRYPTION BY PASSWORD=‘mot_de_passe’

Page 89: alphorm.com - Formation SQL Server 2012 (70-462)

Les clés et les certificats

�Clé maître de base de données

� Clé symétrique (facultative)

� Permet de chiffrer: les certificats et les clés dans la base de données

• Création

CREATE MASTER KEY ENCRIPTION BY PASSWORD=‘mot_de_passe’

SQL Server 2012, administration (70-462) alphorm.com™©

CREATE MASTER KEY ENCRIPTION BY PASSWORD=‘mot_de_passe’

• Sauvegarde et restauration de la clé maître de base de données

BACKUP MASTER KEY TO FILE = ‘chemin_nom' ENCRYPTION BY PASSWORD = ‘mot_de_passe'

RESTORE MASTER KEY FROM FILE = ' chemin_nom ' DECRYPTION BY PASSWORD = ‘mot_de_passe' ENCRYPTION BY PASSWORD = ‘mot_de_passe'

Page 90: alphorm.com - Formation SQL Server 2012 (70-462)

Les clés et les certificats

�Clé maître de base de données

� Ouverture

OPEN MASTER KEY DECRYPTION BY PASSWORD = ‘mot_de_passe’

� Fermeture

CLOSE MASTER KEY

SQL Server 2012, administration (70-462) alphorm.com™©

CLOSE MASTER KEY

� Suppression

DROP MASTER KEY

Page 91: alphorm.com - Formation SQL Server 2012 (70-462)

Les clés et les certificats

�Les certificats

� Création

CREATE CERTIFICATE ‘nom’ ENCRYPTION BY PASSWORD=‘mot_de_passe’ WITH SUBJECT =‘sujet_certificat’

� Sauvegarde

SQL Server 2012, administration (70-462) alphorm.com™©

BACKUP CERTIFICATE ‘nom_certificat’ TO FILE = ‘chemin_nom'

� Suppression

DROP CERTIFICATE ‘nom’

� Fonctions

• EncryptByCert et DecrypByCert

Page 92: alphorm.com - Formation SQL Server 2012 (70-462)

Les clés et les certificats

�Les clés Asymétriques

�Création

CREATE ASYMMETRIC KEY ‘nom’ WITH ALGORITHM = RSA_2048 ENCRYPTION BY CERTIFICATE BY PASSWORD = ‘mot_de_passe’

� Fonctions

SQL Server 2012, administration (70-462) alphorm.com™©

• EncryptByAsymKey et DecryptByAsymKey

Page 93: alphorm.com - Formation SQL Server 2012 (70-462)

Les clés et les certificats

�Les clés Symétriques

�Création

CREATE SYMMETRIC KEY ‘nom’ WITH ALGORITHM = TRIPLE_DES ENCRYPTION BY CERTIFICATE ‘certificat’ | BY PASSWORD = ‘mot_de_passe’

� Fonctions

SQL Server 2012, administration (70-462) alphorm.com™©

• EncryptByKey et DecryptByKey

Page 94: alphorm.com - Formation SQL Server 2012 (70-462)

Prochaine module: Sauvegarde et restauration

SQL Server 2012, administration (70-462) alphorm.com™©

Sauvegarde et restauration sous SQL Server 2012

Page 95: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde des bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Introduction à la sauvegarde

Page 96: alphorm.com - Formation SQL Server 2012 (70-462)

Introduction à la sauvegarde

�Pourquoi sauvegarder

� Panne matérielle (support)

� Mauvaise manipulation des utilisateurs

� Panne serveur

Déplacement de base de données

SQL Server 2012, administration (70-462) alphorm.com™©

� Déplacement de base de données

Page 97: alphorm.com - Formation SQL Server 2012 (70-462)

Introduction à la sauvegarde

�Caractéristiques

� Sauvegarde à chaud

� Sauvegarde cohérente des données

� Aucune opération de création ou de modification de base de données n’est possible pendant une opération de sauvegarde

SQL Server 2012, administration (70-462) alphorm.com™©

possible pendant une opération de sauvegarde

� Impossible de créer des indexes pendant la sauvegarde

� Exécution d’opérations non journalisées non autorisées

Page 98: alphorm.com - Formation SQL Server 2012 (70-462)

Introduction à la sauvegarde

�Les principales méthodes de sauvegardes

� Sauvegarde complète

� Sauvegarde différentielle

� Sauvegarde du journal des transactions

Sauvegarde des groupes de fichiers

SQL Server 2012, administration (70-462) alphorm.com™©

� Sauvegarde des groupes de fichiers

� Partielle

Page 99: alphorm.com - Formation SQL Server 2012 (70-462)

Introduction à la sauvegarde

�Sauvegarde complète de base de données

� Sauvegarde toutes les données de la base de données

� Sauvegarde les modifications validées pendant la sauvegarde

� Point de départ pour toute stratégie de sauvegarde

SQL Server 2012, administration (70-462) alphorm.com™©

Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche

SEMAINEComplète

Page 100: alphorm.com - Formation SQL Server 2012 (70-462)

Introduction à la sauvegarde

�Sauvegarde différentielle

� Sauvegarde les parties de la base de données modifiées depuis la dernière sauvegarde complète

� Sauvegarde toutes les transactions intervenues pendant la sauvegarde différentielle

SQL Server 2012, administration (70-462) alphorm.com™©

00:00 08:00 10:00 12:00 14:00 16:00

JOUR

DifférentielleComplète

18:00

Page 101: alphorm.com - Formation SQL Server 2012 (70-462)

Introduction à la sauvegarde

�Sauvegarde du journal des transactions

� Pré-requis: sauvegarde complète indispensable

� Nécessite le mode de récupération COMPLET

Différentielle

SQL Server 2012, administration (70-462) alphorm.com™©

00:00 08:00 12:00 12:30 13:30

JOUR

JournalComplète

010101

010101

010101

010101

010101

010101

Différentielle

08:30 09:00 13:00

010101

n

010101

n

Page 102: alphorm.com - Formation SQL Server 2012 (70-462)

Introduction à la sauvegarde

�Sauvegarde partielle

� Contient toutes les données du groupe PRIMAIRE

� Contient chaque groupe de fichiers en LECTURE/ECRITURE

� Ne contient pas les groupes de fichiers en LECTURE seule

SQL Server 2012, administration (70-462) alphorm.com™©

Page 103: alphorm.com - Formation SQL Server 2012 (70-462)

Mise en oeuvre de la sauvegarde complète

SQL Server 2012, administration (70-462) alphorm.com™©

sauvegarde complète

Page 104: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde des bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Sauvegarde complète

Page 105: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde complète

�Destination des sauvegardes

� Disque

• Les unités physiques = nom complet du fichier physique au niveau de l’OS

• Les unités logiques: s’appuient sur des fichiers physiques

� Bande

SQL Server 2012, administration (70-462) alphorm.com™©

� Bande

�Les privilèges nécessaires pour réaliser une sauvegarde

� Rôles de serveur

• sysadmin, db_owner, db_backupoperateur

Page 106: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde complète

�L’instruction BACKUP

� Syntaxe

BACKUP DATABASE <nom base> TO <unite logique> | DISK = <chemin_nom> WITH INIT | NOINIT | FORMAT | CHECKSUM | COMPRESSION

• Sauvegarde avec mise en mirroir

SQL Server 2012, administration (70-462) alphorm.com™©

� Syntaxe

BACKUP DATABASE <nom base> TO <unite logique> | DISK = <chemin_nom>MIRROR TO<unite logique> | DISK= <chemin_nom>

Page 107: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde complète

�Vérifier l’intégrité d’une sauvegarde

� Syntaxe

RESTORE VERIFYONLY FROM <unite logique> | DISK=<chemin_nom>

SQL Server 2012, administration (70-462) alphorm.com™©

Page 108: alphorm.com - Formation SQL Server 2012 (70-462)

Mise en oeuvre de la sauvegarde différentielle

SQL Server 2012, administration (70-462) alphorm.com™©

sauvegarde différentielle

Page 109: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde des bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Sauvegarde différentielle

Page 110: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde différentielle

�Caractéristiques

� Sauvegarde toutes les extensions modifiées depuis la dernière sauvegarde complète

� Permet de réduire le nombre de sauvegarde du journal des transactions

� Utilisable quelque soit le mode de récupération utilisé

SQL Server 2012, administration (70-462) alphorm.com™©

� Utilisable quelque soit le mode de récupération utilisé

Page 111: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde différentielle

�Commande BACKUP

� Syntaxe

• BACKUP DATABASE <nom base> TO DISK = <nom_fichier> WITH DIFFERENTIAL

• Utilisable quelque soit le mode de récupération utilisé

SQL Server 2012, administration (70-462) alphorm.com™©

• Utilisable quelque soit le mode de récupération utilisé

Page 112: alphorm.com - Formation SQL Server 2012 (70-462)

Mise en oeuvre de la sauvegarde du journal des

SQL Server 2012, administration (70-462) alphorm.com™©

sauvegarde du journal des transactions

Page 113: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde des bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Sauvegarde du journal des transactions

Page 114: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde du journal des transactions

�Caractéristiques

� Utilisable uniquement avec le mode de récupération COMPLET et JOURNALISE EN BLOC

� Autorisée uniquement après une sauvegarde complète

� Débute au numéro LSN (Log sequence Number) oû a pris fin la précédente

SQL Server 2012, administration (70-462) alphorm.com™©

� Débute au numéro LSN (Log sequence Number) oû a pris fin la précédente sauvegarde de journal

� Sauvegarde toutes les transactions jusqu’à la transaction actuelle ouverte

� Toutes les transactions sauvegardés peuventt alors être supprimés du journal des transactions

Page 115: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde du journal des transactions

�Commande BACKUP

� Syntaxe

BACKUP LOG <nom_base> TO DISK = <nom_fichier> WITH INIT

SQL Server 2012, administration (70-462) alphorm.com™©

Page 116: alphorm.com - Formation SQL Server 2012 (70-462)

Mise en oeuvre de la sauvegarde de groupe de

SQL Server 2012, administration (70-462) alphorm.com™©

sauvegarde de groupe de fichiers

Page 117: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde des bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Sauvegarde de groupe de fichiers

Page 118: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde de groupe de fichiers

�Caractéristiques

� Stratégie de sauvegarde alternative aux sauvegardes complètes

� Permet de sauvegarder des groupes de fichiers

� Point de départ: sauvegarde initiale de tous les groupes de fichiers de la base de données

SQL Server 2012, administration (70-462) alphorm.com™©

base de données

� Mode de récupération: COMPLET ou JOURNALISE EN BLOC

Page 119: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde de groupe de fichiers

�Commande BACKUP

� Syntaxe

BACKUP DATABASE <nom_base> FILEGROUPE =<nom_groupe_fichier> TO DISK = <nom_fichier>

BACKUP DATABASE <nom_base> FILEGROUPE =<nom_groupe_fichier>

SQL Server 2012, administration (70-462) alphorm.com™©

BACKUP DATABASE <nom_base> FILEGROUPE =<nom_groupe_fichier> TO DISK = <nom_fichier> WITH DIFFERENTIAL

Page 120: alphorm.com - Formation SQL Server 2012 (70-462)

Mise en oeuvre de la sauvegarde partielle

SQL Server 2012, administration (70-462) alphorm.com™©

sauvegarde partielle

Page 121: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde des bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Sauvegarde partielle

Page 122: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde partielle

�Caractéristiques

� Utilisable avec tous les modes de récupération

� Permet d’exclure des groupes de fichiers en lecture

� Identique à une sauvegarde complète mais ne contient pas tous les groupes de fichiers

SQL Server 2012, administration (70-462) alphorm.com™©

groupes de fichiers

� La sauvegarde partielle d'une base de données en lecture seule contient uniquement le groupe de fichiers primaire

� Pour une base de données accessible en lecture/écriture, une sauvegarde partielle contient toutes les données du groupe de fichiers primaire, de chaque groupe de fichiers en lecture/écriture

Page 123: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde partielle

�Commande BACKUP

� Syntaxe

BACKUP DATABASE <nom_base> READ_WRITE_FILEGROUPS TO DISK = <fichier_nom>

SQL Server 2012, administration (70-462) alphorm.com™©

Page 124: alphorm.com - Formation SQL Server 2012 (70-462)

Module suivant: restauration des bases de

SQL Server 2012, administration (70-462) alphorm.com™©

restauration des bases de données sous SQL Server

Page 125: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde des bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Les pré-requis à la restauration

Page 126: alphorm.com - Formation SQL Server 2012 (70-462)

Les pré-requis à la restauration

�La vérification des sauvegardes

RESTORE HEADERONLY

RESTORE FILELISTONLY

RESTORE LABELONLY

RESTORE VERIFYONLY

SQL Server 2012, administration (70-462) alphorm.com™©

RESTORE VERIFYONLY

Page 127: alphorm.com - Formation SQL Server 2012 (70-462)

Les pré-requis à la restauration

�Avant de restaurer

Aucune connexion utilisateur en cours

Interdire toute nouvelle connexion au serveur pendant la restauration

Mode mono-utilisateur

SQL Server 2012, administration (70-462) alphorm.com™©

Page 128: alphorm.com - Formation SQL Server 2012 (70-462)

Mise en oeuvre de la restauration sous SQL

SQL Server 2012, administration (70-462) alphorm.com™©

restauration sous SQL Server

Page 129: alphorm.com - Formation SQL Server 2012 (70-462)

Restauration des bases de données SQL Server 2012

Restauration d’une base de

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Restauration d’une base de données

Page 130: alphorm.com - Formation SQL Server 2012 (70-462)

Restauration d’une base de données

�Les différents types de restauration

� Restauration d’une sauvegarde complète

� Restauration d’une sauvegarde différentielle

� Restauration d’une sauvegarde de journal de transactions

Restauration partielle

SQL Server 2012, administration (70-462) alphorm.com™©

� Restauration partielle

� Restauration d’une page corrompue

Page 131: alphorm.com - Formation SQL Server 2012 (70-462)

Sauvegarde de groupe de fichiers

�Les options de la commande RESTORE

� RECOVERY

� NORECOVERY

� FILE

MOVE... TO

SQL Server 2012, administration (70-462) alphorm.com™©

� MOVE... TO

� REPLACE

� STOPAT (PITR: point in time recovery)

� STOPATMARK (LSN), STOPBEFOREMARK (LSN)

Page 132: alphorm.com - Formation SQL Server 2012 (70-462)

Les snapshots (captures instantanées) de base de

SQL Server 2012, administration (70-462) alphorm.com™©

instantanées) de base de données

Page 133: alphorm.com - Formation SQL Server 2012 (70-462)

Restauration des bases de données SQL Server 2012

Captures instantanées de base

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Captures instantanées de base de donnée

Page 134: alphorm.com - Formation SQL Server 2012 (70-462)

Captures instantanées de bases de données

�Un snapshot c’est quoi ?

� Une copie en lecture seule des bases de données

� Dépourvue de journal des transactions

� Création d’un fichier épars

Initialement aucune données

SQL Server 2012, administration (70-462) alphorm.com™©

� Initialement aucune données

� Impossible de sauvegarder, restaurer ou détacher une capture instantanée de base de données

� Le snapshot doit se trouver dans la même instance que la base de données source

Page 135: alphorm.com - Formation SQL Server 2012 (70-462)

Captures instantanées de bases de données

�Fonctionnement

COPIE DES PAGES AVANT MODIFICATION

Base de données en lecture/écriture

Capture instantanées en

lecture seule

SQL Server 2012, administration (70-462) alphorm.com™©

COPIE DES PAGES AVANT MODIFICATION

SELECT

SELECTINSERTUPDATE...

SELECT (données non modifiées)

Page 136: alphorm.com - Formation SQL Server 2012 (70-462)

Captures instantanées de bases de données

�Création d’une capture instantanée

CREATE DATABASE <nom_capture>

ON

(NAME =<nom_fichier_logique>,

FILENAME = <nom_fichier_OS>

SQL Server 2012, administration (70-462) alphorm.com™©

FILENAME = <nom_fichier_OS>

) [ ,... ]

AS SNAPSHOT OF <nom_base_source>

Page 137: alphorm.com - Formation SQL Server 2012 (70-462)

Prochain module : Importation et

SQL Server 2012, administration (70-462) alphorm.com™©

Importation et exportation des données

Page 138: alphorm.com - Formation SQL Server 2012 (70-462)

Importation et exportation des données

Introduction aux outils

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Introduction aux outils d’Import/Export

Page 139: alphorm.com - Formation SQL Server 2012 (70-462)

Introduction aux outils d’import/export

�Architecture de transfert

Base de données Outil

d’import/export

SQL Server 2012, administration (70-462) alphorm.com™©

données

Fichiers

Outil d’import/export

(ETL)

Base de données

Page 140: alphorm.com - Formation SQL Server 2012 (70-462)

Introduction aux outils d’import/export

�Les outils de transfert

� SSIS (SQL Server Intégration Service)

• ETL: extraction, transformation, chargement

� BCP

• Outil en ligne de commande

SQL Server 2012, administration (70-462) alphorm.com™©

• Outil en ligne de commande

• Permet d’importer et d’exporter entre un fichier et SQL Server

� BULK INSERT

� Réplication

� SELECT INTO et INSERT

Page 141: alphorm.com - Formation SQL Server 2012 (70-462)

SSIS (SQL Server Integration service)

SQL Server 2012, administration (70-462) alphorm.com™©

Integration service)

Page 142: alphorm.com - Formation SQL Server 2012 (70-462)

Importation et exportation des données

SSIS (SQL Server Integration

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

SSIS (SQL Server IntegrationService)

Page 143: alphorm.com - Formation SQL Server 2012 (70-462)

SSIS

�Terminologie

� Les packages (unités de travail à exécuter)

� Les tâches (se chargent du travail dans les packages)

� Les conteneurs (fournissent la structure des packages)

SQL Server 2012, administration (70-462) alphorm.com™©

Page 144: alphorm.com - Formation SQL Server 2012 (70-462)

SSIS

�Architecture

PACKAGE

FLUX DE CONTROLE

TACHES

TACHE DE FLUX DE DONNEES

SOURCE

SQL Server 2012, administration (70-462) alphorm.com™©

SOURCE

TRANSFORMATION

DESTINATION

Page 145: alphorm.com - Formation SQL Server 2012 (70-462)

SSIS

�Flux de données

ETL

SQL Server 2012, administration (70-462) alphorm.com™©

SOURCE TRANSFORMATION DESTINATION

Page 146: alphorm.com - Formation SQL Server 2012 (70-462)

SSIS

�Utilisation

� Assistants

� Concepteurs SSIS

� Utilitaires de ligne de commande dtexec

SQL Server 2012, administration (70-462) alphorm.com™©

Page 147: alphorm.com - Formation SQL Server 2012 (70-462)

BCP

SQL Server 2012, administration (70-462) alphorm.com™©

Page 148: alphorm.com - Formation SQL Server 2012 (70-462)

Importation et exportation des données

BCP (Bulk Copy Program)

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

BCP (Bulk Copy Program)

Page 149: alphorm.com - Formation SQL Server 2012 (70-462)

BCP

�Caractéristiques

� Outil en ligne de commande

� Permet d’exporter les données d’une table ou d’une requête SQL

� Permet d’importer un fichier texte dans une table SQL Server

SQL Server 2012, administration (70-462) alphorm.com™©

Page 150: alphorm.com - Formation SQL Server 2012 (70-462)

BCP

�Outil BCP

� Syntaxe

• bcp {nom objet | requete} { in | out | queryout | format } <fichier_de_donnees> -S -T...

SQL Server 2012, administration (70-462) alphorm.com™©

Page 151: alphorm.com - Formation SQL Server 2012 (70-462)

BULK INSERT

SQL Server 2012, administration (70-462) alphorm.com™©

Page 152: alphorm.com - Formation SQL Server 2012 (70-462)

Importation et exportation des données

BULK INSERT

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

BULK INSERT

Page 153: alphorm.com - Formation SQL Server 2012 (70-462)

BULK INSERT

�Caractéristiques

� Importe un fichier de données dans une table ou vue de base de données dans un format spécifié par l’utilisateur

SQL Server 2012, administration (70-462) alphorm.com™©

Page 154: alphorm.com - Formation SQL Server 2012 (70-462)

BULK INSERT

�Commande BULK INSERT

� Syntaxe

BULK INSERT

[ database_name . [ schema_name ] . | schema_name . ] [ table_name | view_name ]

FROM 'data_file'

SQL Server 2012, administration (70-462) alphorm.com™©

FROM 'data_file'

[ WITH

(

[ [ , ] FIELDTERMINATOR = 'field_terminator' ]

Page 155: alphorm.com - Formation SQL Server 2012 (70-462)

Prochain module: Gestion de la sécurité d’accès

SQL Server 2012, administration (70-462) alphorm.com™©

sécurité d’accès

Page 156: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion de la sécurité d’accès

Authentification SQL Server

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Authentification SQL Server

Page 157: alphorm.com - Formation SQL Server 2012 (70-462)

Authentification SQL Server

� Introduction

� Les entités de sécurité : compte de sécurité qui dispose d’un accès au serveur de données SQL.

� Les sécurisables : objets gérés par le serveur (serveur, base, schema)

� Les autorisations : sont accordées aux entités de sécurité afin de pouvoir travailler avec les sécurisables.

SQL Server 2012, administration (70-462) alphorm.com™©

� Les autorisations : sont accordées aux entités de sécurité afin de pouvoir travailler avec les sécurisables.

Page 158: alphorm.com - Formation SQL Server 2012 (70-462)

Authentification SQL Server

�Architecture de la sécurité d’accès

SERVEUR

BASE

LOGIN DE CONNEXION

USER BASE DE DONNEES

SECURISABLESSERVEUR

SECURISABLESBASE DE DONNEES

SQL Server 2012, administration (70-462) alphorm.com™©

SCHEMASCHEMA

OBJET

OBJET

OBJET

OBJET

SECURISABLESSCHEMA

Page 159: alphorm.com - Formation SQL Server 2012 (70-462)

Authentification SQL Server

�Les modes d’authentication

� Mode d’authentification Windows

• Utilisateurs authentifiés par Windows

• L’accès des utilisateurs se fait via une connexion mappée à leur compte Windows

• Mode d’authentification par défaut

SQL Server 2012, administration (70-462) alphorm.com™©

� Mode d’authentification mixte (SQL Server et Windows)

• Les utilisateurs connectés via une connexion Windows déclarés sous SQL Server sont validés

• Les utilisateurs connectés via un compte non Windows déclarés sous SQL Server sont validés

Page 160: alphorm.com - Formation SQL Server 2012 (70-462)

Authentification SQL Server

�Les entités de sécurités

� Windows

• Groupe Windows, Compte d’utilisateur de domaine, Compte d’utilisateur local

� SQL Server

• Connexion SQL Server, Rôle de serveur

SQL Server 2012, administration (70-462) alphorm.com™©

• Connexion SQL Server, Rôle de serveur

� Base de données

• Utilisateur, Rôle de base de données, Rôle d’application

Page 161: alphorm.com - Formation SQL Server 2012 (70-462)

Authentification SQL Server

�Les entités de sécurités

� Configuration des identifiants SQL Server

• Identifiant = accès des utilisateurs à SQL Server

� Création d’un identifiant (authentification Windows)

• Syntaxe

SQL Server 2012, administration (70-462) alphorm.com™©

• Syntaxe

CREATE LOGIN [<domaine>\<nom_connexion>] FROM WINDOWS

[WITH DEFAULT_DATABASE=<base_de_données> | DEFAULT_LANGUAGE=<langue>

Page 162: alphorm.com - Formation SQL Server 2012 (70-462)

Authentification SQL Server

�Les entités de sécurités

� Création d’un identifiant (authentification SQL Server)

• Syntaxe

CREATE LOGIN <nom_connexion> WITH PASSWORD=<mot_de_passe> [MUST_CHANGED] |, DEFAULT_DATABASE=<base_de_donnes> |, DEFAULT_LANGUAGE=<langue> | , CHECK_EXPIRATION={ ON | OFF} | CHECK_POLICY={ ON

SQL Server 2012, administration (70-462) alphorm.com™©

DEFAULT_LANGUAGE=<langue> | , CHECK_EXPIRATION={ ON | OFF} | CHECK_POLICY={ ON | OFF} | , [CREDENTIAL=<nom_credit>

Page 163: alphorm.com - Formation SQL Server 2012 (70-462)

Authentification SQL Server

�Les entités de sécurités

� Les vues systèmes

• sys.server_principals : Entités de sécurité définis au niveau serveur.

• sys.sql_logins : Liste des connexions au niveau serveur.

SQL Server 2012, administration (70-462) alphorm.com™©

Page 164: alphorm.com - Formation SQL Server 2012 (70-462)

Authentification SQL Server

�Les entités de sécurités

� Modification

• Syntaxe

ALTER LOGIN <nom_utilisateur> WITH <option>

� Désactivation

SQL Server 2012, administration (70-462) alphorm.com™©

� Désactivation

• Syntaxe

ALTER LOGIN <nom_utilisateur> DISABLE

Page 165: alphorm.com - Formation SQL Server 2012 (70-462)

Authentification SQL Server

�Les entités de sécurités

� Suppression

• Syntaxe

DROP LOGIN <nom_utilisateur>

DROP LOGIN [domaine\nom_utilisateur]

SQL Server 2012, administration (70-462) alphorm.com™©

DROP LOGIN [domaine\nom_utilisateur]

Page 166: alphorm.com - Formation SQL Server 2012 (70-462)

Les credentials

SQL Server 2012, administration (70-462) alphorm.com™©

Page 167: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion de la sécurité d’accès

Les credentials

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Les credentials

Page 168: alphorm.com - Formation SQL Server 2012 (70-462)

Authentification SQL Server

�Les credentials

� Permettent à des connexions en mode sécurité SQL Server d’accéder à une ressource externe au serveur de base de données

� Un credential = un compte Windows

� Un compte SQL Server est rattaché à un credential

SQL Server 2012, administration (70-462) alphorm.com™©

� Un compte SQL Server est rattaché à un credential

Page 169: alphorm.com - Formation SQL Server 2012 (70-462)

Authentification SQL Server

�Création d’un credential

� Syntaxe

CREATE CREDENTIAL <nom_du_credit>

WITH IDENTITY = <‘identité’> [, SECRET = <‘password’>];

SQL Server 2012, administration (70-462) alphorm.com™©

Page 170: alphorm.com - Formation SQL Server 2012 (70-462)

Les utilisateurs de base de données

SQL Server 2012, administration (70-462) alphorm.com™©

données

Page 171: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion de la sécurité d’accès

Les utilisateurs de base de

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Les utilisateurs de base de données

Page 172: alphorm.com - Formation SQL Server 2012 (70-462)

Les utilisateurs de base données

�Caractéristiques

� Crée au niveau base de données

� Rattaché à un login de connexion au niveau serveur

• Sauf pour les utilisateurs guest, sys et INFORMATION_SCHEMA

� Les droits sur les objets (base, schema, objets) sont donnés aux utilisateurs de base

SQL Server 2012, administration (70-462) alphorm.com™©

� Les droits sur les objets (base, schema, objets) sont donnés aux utilisateurs de base de données

Page 173: alphorm.com - Formation SQL Server 2012 (70-462)

Les utilisateurs de base données

�Les utilisateurs particuliers

� Utilisateur dbo

• Présent dans toutes les bases données par défaut

• Les membres du rôle sysadmin et du compte de connexion sa sont mappés à dbo

SQL Server 2012, administration (70-462) alphorm.com™©

mappés à dbo

• Ne peut être supprimé

• Tous les objets créés par un membre de sysadmin appartiennent automatiquement à dbo

Page 174: alphorm.com - Formation SQL Server 2012 (70-462)

Les utilisateurs de base données

�Les utilisateurs particuliers

� Utilisateur guest

• Présent dans toutes les bases données par défaut

• Autorise les connexions sans compte utilisateur à accéder à la base

• Activation du compte guest

SQL Server 2012, administration (70-462) alphorm.com™©

• Activation du compte guest

GRANT CONNECT TO guest;

• Désactivation du compte guest

REVOKE CONNECT FROM guest;

Page 175: alphorm.com - Formation SQL Server 2012 (70-462)

Les utilisateurs de base données

�Création d’un utilisateur de base de données

� Syntaxe

CREATE USER <utilisateur> FOR LOGIN <login> WITH DEFAULT_SCHEMA=<schema>

�Modification d’un utilisateur de base de données

� Syntaxe

SQL Server 2012, administration (70-462) alphorm.com™©

� Syntaxe

ALTER USER <utilisateur> WITH NAME=<new_nom>, DEFAULT_SCHEMA=<schema>

�Suppression d’un utilisateur de base de données

� Syntaxe

DROP USER <utilisateur>

Page 176: alphorm.com - Formation SQL Server 2012 (70-462)

Les utilisateurs de base données

�Les vues systèmes

� sys.database_principals

�Savoir qui est connecté

� Procédure sp_who

SQL Server 2012, administration (70-462) alphorm.com™©

Page 177: alphorm.com - Formation SQL Server 2012 (70-462)

Les schemas

SQL Server 2012, administration (70-462) alphorm.com™©

Page 178: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion de la sécurité d’accès

Les schémas

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Les schémas

Page 179: alphorm.com - Formation SQL Server 2012 (70-462)

Les schémas

�Caractéristiques

� Apparue dans MSSQL 2005

� Objet logique (enveloppe)

� Permet un regroupement logique des objets

� Permet de gérer d'une manière plus optimale les droits sur les objets

SQL Server 2012, administration (70-462) alphorm.com™©

� Permet de gérer d'une manière plus optimale les droits sur les objets

� Associé à un utilisateur

� Schéma par défaut dbo

� Pour accéder à des objets en dehors de son schema, faut faire précéder le nom de l'objet par le nom du schema

Page 180: alphorm.com - Formation SQL Server 2012 (70-462)

Les schémas

�Création

� Syntaxe

CREATE SCHEMA <nom_schema> AUTHORIZATION <utilisateur>

�Modification

� Syntaxe

SQL Server 2012, administration (70-462) alphorm.com™©

� Syntaxe

ALTER SCHEMA <nom_schema> TRANSFER <objet>;

�Suppression (doit être vide)

� Syntaxe

DROP SCHEMA <nom_schema>;

Page 181: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des droits sous SQL Server

SQL Server 2012, administration (70-462) alphorm.com™©

Server

Page 182: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion de la sécurité d’accès

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Gestion des droits sous SQL Server

Page 183: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des droits sous SQL Server

�Caractéristiques

� Plusieurs niveau d’attribution des privilèges

• Au niveau serveur

• Au niveau base

• Au niveau schéma

SQL Server 2012, administration (70-462) alphorm.com™©

• Au niveau des objets

� Deux types de droits au niveau base

• Droits d’utilisation d’instructions

• Droits sur les objets

Page 184: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des droits sous SQL Server

�Gestion des privilèges

� GRANT pour l’attribution des privilèges

� REVOKE pour retirer des privilèges

� DENY pour interdire l’utilisation d’un privilège

SQL Server 2012, administration (70-462) alphorm.com™©

Page 185: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des droits sous SQL Server

�Les privilèges d’utilisation des instructions

� CREATE DATABASE pour créer une base de données

� CREATE PROCEDURE pour créer une procédure stockée

� CREATE TABLE pour créer une table

� BACKUP DATABASE pour réaliser une sauvegarde

SQL Server 2012, administration (70-462) alphorm.com™©

� BACKUP DATABASE pour réaliser une sauvegarde

� CREATE DEFAULT

� CREATE RULE pour créer un rôle

� CREATE VIEW pour créer une vue

� BACKUP LOG pour réaliser une sauvegarde du journal des transactions

Page 186: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des droits sous SQL Server

�La commande GRANT

GRANT <nom_privilege> [, ...] TO <utilisateur> > [, ...] [ WITH GRANT OPTION ]

�La commande REVOKE

REVOKE [ GRANT OPTION FOR] <nom_privilege> [, ...] FROM <utilisateur> [, ...] [CASCADE]

SQL Server 2012, administration (70-462) alphorm.com™©

�La commande DENY

DENY<nom_privilege> [, ...] TO <utilisateur> [, ...] [CASCADE]

Page 187: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des droits sous SQL Server

�Les privileges sur les objets

� Tables

• SELECT, INSERT, UPDATE, DELETE

� Procédures

• EXECUTE

SQL Server 2012, administration (70-462) alphorm.com™©

• EXECUTE

Page 188: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des droits sous SQL Server

�La commande GRANT

GRANT { ALL | <nom_privilege>[ (colonne [, ...] ] [, ...]) } ON <nom_objet> TO <utilisateur> [, ...] [ WITH GRANT OPTION ]

�La commande REVOKE

REVOKE [ GRANT OPTION FOR ] { ALL | <nom_privilege>[ ( colonne [, ...] ] [, ...] ) } ON <nom_objet> [ ( colonne [, ...] ] [, ...] ) FROM <utilisateur> [, ...] [ CASCADE ]

SQL Server 2012, administration (70-462) alphorm.com™©

<nom_objet> [ ( colonne [, ...] ] [, ...] ) FROM <utilisateur> [, ...] [ CASCADE ]

�La commande DENY

DENY { ALL | <nom_privilege>[ ( colonne [, ...] ] [, ...] ) } ON <nom_objet> [ ( colonne [, ...] ] [, ...] ) TO <utilisateur> [, ...] [ CASCADE ]

Page 189: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des droits sous SQL Server

�Droits au niveau base de données

• La commande GRANT

GRANT <nom_privilege_base> [, ...] TO <utilisateur> [, ...] [ WITH GRANT OPTION ] [ AS [<groupe> | <role> ]

� La commande REVOKE

SQL Server 2012, administration (70-462) alphorm.com™©

� La commande REVOKE

REVOKE [ GRANT OPTION FOR ] <nom_privilege_base> [, ...] FROM <utilisateur> [, ...] [ CASCADE ]

� La commande DENY

DENY <nom_privilege_base> [, ...] TO <utilisateur> [, ...] [ CASCADE ]

Page 190: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des droits sous SQL Server

�Droits au niveau serveur

• Accordés aux login de connexion

• Pour accorder le droits au niveau serveur, il faut être sur la base master

SQL Server 2012, administration (70-462) alphorm.com™©

Page 191: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des droits sous SQL Server

�Consultations des vues systèmes

- sys.database_permissions

- sys.database_principals

select name,type_desc,class_desc, permission_name

SQL Server 2012, administration (70-462) alphorm.com™©

select name,type_desc,class_desc, permission_name

from sys.database_principals a, sys.database_permissions b

where b.grantee_principal_id=a.principal_id

Page 192: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des rôles

SQL Server 2012, administration (70-462) alphorm.com™©

Page 193: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion de la sécurité d’accès

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Gestion des rôles

Page 194: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des rôles

�Caractéristiques

� Ensemble de privilèges (regroupemet de privilèges)

� Existe à trois niveaux dans l’architecture SQL Server

• Au niveau serveur

• Au niveau base

SQL Server 2012, administration (70-462) alphorm.com™©

• Au niveau application

� Deux types de rôles

• Rôles utilisateur (au niveau base et application)

• Rôles fixes (au niveau base et serveur)

Page 195: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des rôles

�Les rôles au niveau serveur (prédéfinis)

� sysadmin super administrateur de l’instance

� serveradmin configuration des paramètres au niveau serveur

� setupadmin ajout/suppression des serveurs liés et éxecution de certaines procstocks

� securityadmin gestion des connexions d’accès au serveur

SQL Server 2012, administration (70-462) alphorm.com™©

� securityadmin gestion des connexions d’accès au serveur

� processadmin gestion des traitements sous SQL Server

� dbcreator création et modification des bases de données

� diskadmin gestion des fichiers sur disque

� bulkadmin exécution de l’instruction BULK INSER

Page 196: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des rôles

�Gestion des rôles au niveau serveur

� Les procédures

• sp_helpsrvrole affiche la liste des rôles fixes

• sp_addsrvrolemember ajoute un membre à un rôle fixe

sp_dropsrvrolemember retire un membre à un rôle fixe

SQL Server 2012, administration (70-462) alphorm.com™©

• sp_dropsrvrolemember retire un membre à un rôle fixe

Page 197: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des rôles

�Gestion des rôles au niveau base de données

� Les rôles prédéfinis

• db_owner propriétiaire de la base de données

• db_accessadmin ajoute ou supprime des utilisateurs à la base de données

• db_datareader SELECT sur toutes les tables de la base de données

SQL Server 2012, administration (70-462) alphorm.com™©

db_datareader SELECT sur toutes les tables de la base de données

• db_datawriter INSERT, UPDATE, DELETE sur toutes les tables de la base de données

• db_ddladmin ordre DDL (CREATE, ALTER)

• db_securityadmin gestion des rôles, des autorisations sur les instructions et les objets

• db_backupoperator réalisation de sauvegarde de la base de données

• db_denydatareader pour interdire le SELECT/INSET sur toute la base

• db_denydatawriter pour interdire le INSERT, UPDATE, DELETE sur toute la base

Page 198: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des rôles

�Gestion des rôles au niveau base de données

� Les rôles utilisateurs

• Gestion des rolês utilisateurs

� CREATE ROLE <nom_role> AUTHORIZATION <nom_propriétaire>

� sp_addrolemember ajouter un membre au rôle

SQL Server 2012, administration (70-462) alphorm.com™©

sp_addrolemember ajouter un membre au rôle

� sp_droprolemember retire un membre au rôle

� DROP ROLE <nom_role>

Page 199: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des rôles

�Gestion des rôles d’application

� Définis au niveau base

� Ne possède aucun utilisateur

� Protégé par un mot de passe

Permet de données les droits nécessaires pour l’exécution d’une

SQL Server 2012, administration (70-462) alphorm.com™©

� Permet de données les droits nécessaires pour l’exécution d’une application

� Nécessite d’être activé par un utilisateur

� Prend le dessus sur les privilèges de l’utilisateur qui a activé le rôle d’application

Page 200: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion des rôles

�Gestion des rôles d’application

� Création

CREATE APPLICATION ROLE <nom_role> WITH PASSWORD = ‘<mot_de_passe>’ [ , DEFAULT SCHEMA = <nom_schema> ]

� Suppression

SQL Server 2012, administration (70-462) alphorm.com™©

DROP APPLICATION ROLE <nom_role>

� Modification

ALTER APPLICATION ROLE <nom_role> WITH { NAME = <nouveau_nom> } | ...

� Utilisation

• sp_setapprole <nom_role>, <mot_de_passe>

Page 201: alphorm.com - Formation SQL Server 2012 (70-462)

Contexte d’éxecution

SQL Server 2012, administration (70-462) alphorm.com™©

Page 202: alphorm.com - Formation SQL Server 2012 (70-462)

Gestion de la sécurité d’accès

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Contexte d’éxecution

Page 203: alphorm.com - Formation SQL Server 2012 (70-462)

Contexte d’éxecution

�Caractéristiques

� Permet de changer le contexte d’éxecution d’un utiisateur

� Modifie le fonctionnnement normal

� Revient à éxécuter une procédure avec un utilisateur nommé

� Création

SQL Server 2012, administration (70-462) alphorm.com™©

� Création

CREATE PROCEDURE <nom_procedure> WITH EXECUTE AS { CALLER | SELF | OWNER | ‘<nom_utilisateur>’ } AS <procedure_stockée)

Page 204: alphorm.com - Formation SQL Server 2012 (70-462)

Prochain module: automatisation de la gestion des tâches sous

SQL Server 2012, administration (70-462) alphorm.com™©

de la gestion des tâches sous SQL Server 2012

Page 205: alphorm.com - Formation SQL Server 2012 (70-462)

Automatisation de la gestion de SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Agent SQL Server

Page 206: alphorm.com - Formation SQL Server 2012 (70-462)

Agent SQL Server

�Caractéristiques

� Permet d’automatiser certaines tâches

� Chaque agent est rattaché à une seule instance

� Log les erreurs SQL Server dans l’observateur d’évenement Windows

� Stock les informations dans la base de données msdb

SQL Server 2012, administration (70-462) alphorm.com™©

� Stock les informations dans la base de données msdb

� Terminologie

� Tâches planifiées

� Les alertes

� Les opérateurs

Page 207: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration de la messagerie

SQL Server 2012, administration (70-462) alphorm.com™©

Page 208: alphorm.com - Formation SQL Server 2012 (70-462)

Automatisation de la gestion de SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Configuration de la messagerie

Page 209: alphorm.com - Formation SQL Server 2012 (70-462)

Configuration de la messagerie

�Caractéristiques

� Utilise le protocole SMTP pour envoyer des mails

� Possède son propre processus de fonctionnement

� Non actif par défaut

SQL Server 2012, administration (70-462) alphorm.com™©

Page 210: alphorm.com - Formation SQL Server 2012 (70-462)

Les opérateurs

SQL Server 2012, administration (70-462) alphorm.com™©

Page 211: alphorm.com - Formation SQL Server 2012 (70-462)

Automatisation de la gestion de SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Les opérateurs

Page 212: alphorm.com - Formation SQL Server 2012 (70-462)

Les opérateurs

�Caractéristiques

� Correspond à une personne physique ou à un groupe dans l’entreprise

� Permet à l’Agent SQL Server d’envoyer des messages d’alerte ou de fin de travaux

• Types de message

- Messagerie

SQL Server 2012, administration (70-462) alphorm.com™©

- Messagerie

- Net send

- Radiomessagerie

� Les informations sur les opérateurs sont stockées dans la base de données msdb

Page 213: alphorm.com - Formation SQL Server 2012 (70-462)

Les alertes

SQL Server 2012, administration (70-462) alphorm.com™©

Page 214: alphorm.com - Formation SQL Server 2012 (70-462)

Automatisation de la gestion de SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Les alertes

Page 215: alphorm.com - Formation SQL Server 2012 (70-462)

Les alertes

�Caractéristiques

� Permettent

• D’avertir un opérateur lorsqu’un évènement survient

• De réaliser un traitement pour résoudre un problème

SQL Server 2012, administration (70-462) alphorm.com™©

Page 216: alphorm.com - Formation SQL Server 2012 (70-462)

Les alertes

�Quand déclencher une alerte ?

� Erreurs SQL Server

• En fonction du numéro de l’erreur

• En fonction de la gravité

• Créer ses propres messages d’erreur

SQL Server 2012, administration (70-462) alphorm.com™©

• Créer ses propres messages d’erreur

• sp_addmessage pour créer un message

• sp_altermessage pour supprimer un message

• sp_dropmessage pour supprimer un message

Page 217: alphorm.com - Formation SQL Server 2012 (70-462)

Les alertes

�Création d’une alerte

� Via SQL Server Management Studio

� Via le Transact SQL

• sp_add_alert pour créer une alerte

• sp_update_alert pour mettre à jour une alerte

SQL Server 2012, administration (70-462) alphorm.com™©

• sp_update_alert pour mettre à jour une alerte

• sp_delete_alert pour supprimer une alerte

Page 218: alphorm.com - Formation SQL Server 2012 (70-462)

Les travaux

SQL Server 2012, administration (70-462) alphorm.com™©

Page 219: alphorm.com - Formation SQL Server 2012 (70-462)

Automatisation de la gestion de SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Les travaux

Page 220: alphorm.com - Formation SQL Server 2012 (70-462)

Les travaux

�Caractéristiques

� Constitué de une ou plusieurs étapes (tâches)

• Deux états possibles pour une tâche

- Echec

- Succès

SQL Server 2012, administration (70-462) alphorm.com™©

� Enchainement possible entre les étapes

� Plusieurs type d’étapes

- Transact SQL, Commande système, Package, Réplication, Lnaguage de script

� Stockés dans la table sysjobs de la base de données msdb

Page 221: alphorm.com - Formation SQL Server 2012 (70-462)

Plan de maintenance

SQL Server 2012, administration (70-462) alphorm.com™©

Page 222: alphorm.com - Formation SQL Server 2012 (70-462)

Maintenance des bases de données SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Plan de maintenance

Page 223: alphorm.com - Formation SQL Server 2012 (70-462)

Plan de maintenance

�Caractéristiques

� Permettent d’automatiser la maintenance des bases de données

• Vérification de l’intégrité d’une base de données

• Compactage de base de données

• Réorganisation des indexes

• Reconstruction des indexes

SQL Server 2012, administration (70-462) alphorm.com™©

• Reconstruction des indexes

• Mise à jour des statistiques

• Nettoyage de l’historique des travaux

• Exécution d’un travail de l’agent SQL Server

• Sauvegarder les bases de données (FULL, Différentiel, journal des transactions)

• Nettoyage des sauvegardes et des états

• Notification à l’opérateur

• Exécution d’instruction Transact-SQL

Page 224: alphorm.com - Formation SQL Server 2012 (70-462)

Plan de maintenance

�Caractéristiques

� Stocké sous format de paquetage SSIS

� Chaque paquetage possède sa propre planification

� L’automatisation d’un plan de maintenance passe par l’Agent SQL Server

SQL Server 2012, administration (70-462) alphorm.com™©

Page 225: alphorm.com - Formation SQL Server 2012 (70-462)

Prochain module: Audit des environnements SQL Server

SQL Server 2012, administration (70-462) alphorm.com™©

environnements SQL Server

Page 226: alphorm.com - Formation SQL Server 2012 (70-462)

Audit des environnements SQL Server

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Audit au niveau serveur

Page 227: alphorm.com - Formation SQL Server 2012 (70-462)

Audit au niveau serveur

�Audit d’une instance de moteur de base de données

� L'objet SQL Server Audit trace des actions et des groupes d'actions au niveau du serveur

� L'audit s'effectue au niveau de l'instance SQL Server

� Possibilité d’avoir plusieurs audits par instance SQL Server

SQL Server 2012, administration (70-462) alphorm.com™©

� Possibilité d’avoir plusieurs audits par instance SQL Server

� Par défaut créé dans un état désactivé

� Groupes d’actions d’audit de niveau serveur

• http://msdn.microsoft.com/fr-fr/library/cc280663.aspx

Page 228: alphorm.com - Formation SQL Server 2012 (70-462)

Audit au niveau base de données

SQL Server 2012, administration (70-462) alphorm.com™©

Page 229: alphorm.com - Formation SQL Server 2012 (70-462)

Audit des environnements SQL Server

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Audit au niveau base de données

Page 230: alphorm.com - Formation SQL Server 2012 (70-462)

Audit au niveau base de données

�Audit d’une base de données

� L'audit s'effectue au niveau de la base de données

� Possibilité d’avoir plusieurs audits par base de données

� Par défaut créé dans un état désactivé

� Groupes d’actions d’audit de niveau base

SQL Server 2012, administration (70-462) alphorm.com™©

� Groupes d’actions d’audit de niveau base

• http://msdn.microsoft.com/fr-fr/library/cc280663.aspx

Page 231: alphorm.com - Formation SQL Server 2012 (70-462)

SQL Profiler

SQL Server 2012, administration (70-462) alphorm.com™©

Page 232: alphorm.com - Formation SQL Server 2012 (70-462)

Audit des environnements SQL Server

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

SQL Profiler

Page 233: alphorm.com - Formation SQL Server 2012 (70-462)

SQL Profiler

�Caractéristiques

� Permet de capturer des traces de l’activités de la base de données

� Utilisé pour l’analyse des problèmes de performances

� Plusieurs modèles de traces prédifinis

� Possibilité de créer ses propres modèles de traces

SQL Server 2012, administration (70-462) alphorm.com™©

� Possibilité de créer ses propres modèles de traces

� Permet de capturer une charge de travail pour la rejouer ailleurs

� Permet de faire de la corrélation avec d’autres traces (Windows Système)

Page 234: alphorm.com - Formation SQL Server 2012 (70-462)

Déclencheurs DDL

SQL Server 2012, administration (70-462) alphorm.com™©

Page 235: alphorm.com - Formation SQL Server 2012 (70-462)

Audit des environnements SQL Server

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Déclencheur DDL

Page 236: alphorm.com - Formation SQL Server 2012 (70-462)

Déclencheur DDL

�Caractéristiques

� Permet de créer un déclencheur sur les opérations

• CREATE, ALTER, DROP { table | base | login }

� Permet de limiter les opérations DDL même si un utilisateur dispose des droits nécessaires

SQL Server 2012, administration (70-462) alphorm.com™©

nécessaires

Page 237: alphorm.com - Formation SQL Server 2012 (70-462)

Prochain module: Surveillance de SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

SQL Server 2012

Page 238: alphorm.com - Formation SQL Server 2012 (70-462)

Surveillance de SQL Server 2012

Travailler avec le moniteur de

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Travailler avec le moniteur de performance

Page 239: alphorm.com - Formation SQL Server 2012 (70-462)

Travailler avec le moniteur de performance

�Caractéristiques

� Permet de rassembler des données de surveillance

� Permet de déceler les conditions qui peuvent affecter les performances

� Intégré à Windows

� Possibilité de rajouter ses propres compteurs de performance

SQL Server 2012, administration (70-462) alphorm.com™©

� Possibilité de rajouter ses propres compteurs de performance

Page 240: alphorm.com - Formation SQL Server 2012 (70-462)

Travailler avec le moniteur de performance

�Les composants à surveiller

� Activité du disque

� Utilisation du processeur

� Utilisation de la mémoire

SQL Server 2012, administration (70-462) alphorm.com™©

Page 241: alphorm.com - Formation SQL Server 2012 (70-462)

Définir ses propres compteurs de performances

SQL Server 2012, administration (70-462) alphorm.com™©

performances

Page 242: alphorm.com - Formation SQL Server 2012 (70-462)

Surveillance de SQL Server 2012

Définir ses propres compteurs de

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Définir ses propres compteurs de performance

Page 243: alphorm.com - Formation SQL Server 2012 (70-462)

Définir ses propres compteurs de performance

�Caractéristiques

� Les compteurs personnalisés sont disponibles dans l’objet User Settable au niveau du moniteur de performances

� Procédures stockées réservées

• sp_user_counter1 à sp_user_counter10

SQL Server 2012, administration (70-462) alphorm.com™©

• sp_user_counter1 à sp_user_counter10

Page 244: alphorm.com - Formation SQL Server 2012 (70-462)

Prochaine module: Dépannage des problèmes d’administration

SQL Server 2012, administration (70-462) alphorm.com™©

des problèmes d’administration de SQL Server 2012

Page 245: alphorm.com - Formation SQL Server 2012 (70-462)

Dépannage des problèmes d’administration de SQL Server

2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

2012

Corrélation des fichiers de traces

Page 246: alphorm.com - Formation SQL Server 2012 (70-462)

Corrélation des fichiers de traces

�Données du moniteur de performance avec les traces du générateur de profils

� Permet d’ientifier un point de contention

� Permet d’identifier les requêtes problématiques

SQL Server 2012, administration (70-462) alphorm.com™©

Page 247: alphorm.com - Formation SQL Server 2012 (70-462)

SQL Tunning Advisor ou Assistant paramétrage du

SQL Server 2012, administration (70-462) alphorm.com™©

Assistant paramétrage du moteur de base de données

Page 248: alphorm.com - Formation SQL Server 2012 (70-462)

Dépannage des problèmes d’administration de SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

SQL Tuning Advisor ou Assistant Paramétrage du moteur de base de

données

Page 249: alphorm.com - Formation SQL Server 2012 (70-462)

Assistant Paramétrage du moteur de base de données

�DTA, Database Engine Tuning Advisor

� Joue un rôle important dans une solution de performance globale

� Objectif: préconisations au niveau des indexes et du partitionnement

� Les étapes

• Construire un fichier de charge de travail

SQL Server 2012, administration (70-462) alphorm.com™©

• Construire un fichier de charge de travail

• Configurer DTA pour l’analyse de la charge de travail

• Enregistrer ou appliquer les recommandations du DTA

Page 250: alphorm.com - Formation SQL Server 2012 (70-462)

Les plans d'éxecution des requêtes

SQL Server 2012, administration (70-462) alphorm.com™©

requêtes

Page 251: alphorm.com - Formation SQL Server 2012 (70-462)

Dépannage des problèmes d’administration de SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Les plans d'éxecution des requêtes

Page 252: alphorm.com - Formation SQL Server 2012 (70-462)

Les plans d'éxecution des requêtes

�Un plan d’éxecution c’est quoi ?

� Des méthodes d’accès aux données

� Des algorithmes de jointures

SQL Server 2012, administration (70-462) alphorm.com™©

Page 253: alphorm.com - Formation SQL Server 2012 (70-462)

Prochain module: Configuration de la mise en mirroir

SQL Server 2012, administration (70-462) alphorm.com™©

de la mise en mirroir

Page 254: alphorm.com - Formation SQL Server 2012 (70-462)

Conclusion

SQL Server 2012, administration (70-462) alphorm.com™©

Site : http://alphorm.comBlog : http://alphorm.com/blogForum : http://alphorm.com/forum

Noureddine DRISSI Expert consultant bases de données

Contact : [email protected]

Conclusion

Page 255: alphorm.com - Formation SQL Server 2012 (70-462)

Conclusion

� Module 1: Introduction à SQL Server 2012 et ses outils

� Module 2: Installation et configuration de SQL Server 2012

� Module 3: Les bases de données SQL Server 2012

� Module 4: Sauvegarde des bases de données SQL Server 2012

� Module 8: Automatisation de la gestion de SQL Server 2012

� Module 9: Maintenance des Bases de données SQL Server 2012

� Module 10: Audit des environnements SQL Server

� Module 11: Surveillance de SQL Server 2012

SQL Server 2012, administration (70-462) alphorm.com™©

SQL Server 2012

� Module 5: Restauration des bases de données SQL Server 2012

� Module 6: Importation et exportation des données

� Module 7: Gestion de la sécurité d’accès

2012

� Module 12: Dépannage des problèmes d’administration de SQL Server 2012

� Module 13: Mise en mirroir

� Module 14: Conclusion

Page 256: alphorm.com - Formation SQL Server 2012 (70-462)

Merci pour votre attention

SQL Server 2012, administration (70-462) alphorm.com™©