• Aucun résultat trouvé

[PDF] Initiation a la manipulation des bases de donnees SQL server 2012 | Formation informatique

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Initiation a la manipulation des bases de donnees SQL server 2012 | Formation informatique"

Copied!
43
0
0

Texte intégral

(1)

Administration

SQL Server 2012

(2)

Connaissances préalables

Pour comprendre et maitriser les techniques et concepts abordés dans ce cours il faut avoir une base en informatique et certaines connaissances énumérées ci-dessous :

 Connaissances de base du système d’exploitation Windows  Expérience pratique de Transact-SQL

 Expérience pratique des bases de données relationnelles  Expérience en matière de conception de bases de données  Connaissance et expérience pratique du langage VB,NET

(3)

Objectif :

 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é;

 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.  lecture d’une base de données SQL server 2012 en VB.NET

(4)

Chapitre I : Présentation de SQL Server 2012

L’objectif du chapitre est :

 Comprendre le fonctionnement de SQL Server ;  Présenter les différents composants de SQL Server ;  Présenter l’architecture globale de SQL Server  Comprendre l’architecture d’une base de données

1.1 - Fonctionnement de SQL Server

Les types de serveur

OLDP (OnLine Transactional Processing)

Serveur transactionnel : Un serveur sous lequel un certain nombre de

transactions de type LMD (Langage de Manipulation de données) vont s’exécutées. Un serveur qui va supporter beaucoup de petites transactions qui manipuleront un petit volume de données.

OLAP (OnLine Analytical Processing)

Serveur décisionnel ou Data Warehouse : c’est un entrepôt de données. Un

serveur qui servira en stocker l’ensemble des données consolidées. Les données qui proviennent des différentes sources (BD Oracle, SQL Server, MySQL …). Un serveur OLAP va donc manipuler de gros volumes de données en utilisant de grosses requêtes générant une charge importante.

Ainsi donc avant toute installation il faut connaitre le rôle du serveur pour faire le bon choix du type de serveur à installer.

(5)

1.2 - Les composants de SQL Server

Le moteur de données est composé de plusieurs logiciels.  La plus part s’exécutent sous forme de services;  Certains possèdent des interfaces graphiques

 D’autres sont accessibles via une ligne de commande Les principaux composants sont :

SQL Server  Instance SQL :

C’est le serveur de base de données (le moteur). C’est le principal composant Il est impossible d’avoir une instance SQL server sans que le moteur de base de données ne soit installé.

 S’exécute en tant que service Windows ;

 Elle est référencée sous le nom MSSQLSERVER pour une instance par défaut (instance dans laquelle on choisit le nom par défaut).

 Elle sera MSSQLSERVER$nomInstance dans le cas d’une instance nommée (une instance pour laquelle on choisit de donner un nom différent du nom par défaut).

Il faut savoir qu’il est possible d’installer plusieurs instances sur un même serveur. Cependant il impossible d’avoir sur un même serveur deux instances de même nom.

(6)

SQL Agent :

En général chaque instance à son propre moteur de base de données et possède son propre SQL Agent.

 Il gère l’exécution de tâches planifiées, la surveillance de SQL Server et le suivi des alertes

 Il s’exécute en tant que service Windows  Il est directement lié à une instance SQL Server

 Il est référencé dans le gestionnaire de service sous le nom SQL Server

Agent(MSSQLSERVER) pour une instance par défaut et SQL Server Agent(nomInstance) dans le cas d’une instance nommée.

Microsoft Full Text Search :

C’est un composant utilisé pour effectuer des recherches de documents de type texte.

 Gère l’indexation des documents de type texte  Gère les recherches par rapport aux mots  SQL Server Intégration Services (SSIS) :

 Outil d’importation et d’exportation de données

 Intègre des assistants pour créer un ETL (extraction, transformation et chargement)

Termes à connaitre

 Les packages = unités de travail

 Les conteneurs qui fournissent la structure des packages  SQL Server Analysis Services (SSAS) :

 Outil d’analyse OLAP et Data mining de Microsoft  Permet de construire des cubes OLAP

 Idéal pour des projets décisionnels  SQL Server Reporting Services (SSRS) :

 Créer des rapports pour différents sources de données

 Créer des rapports de types interactifs, tabulaires, graphiques ou libres à partir de source de données XML relationnelles et multidimensionnelles

La replication des données :

 Permet de positionner les données au plus près des utilisateurs et de réduire les temps de traitement. (Avoir un serveur central et des serveurs secondaires)

(7)

 Permet un travail en mode asynchrone pour faciliter la gestion des pics de forte activité en stockant les demandes de travail avant de les traiter  CLR :

 L’intégration du CLR dans SQL Server permet de développer des procédures et fonctions en utilisant les langages VB.Net et C#

1.3 - L’architecture globale de SQL Server et les outils

L’architecture de SQL Server :

Une installation de SQL Serveur contient au minimum une instance par défaut.  Instance par défaut

Elle est identifiée par le nom réseau de l’ordinateur sur lequel elle s’exécute.

Instance nommée

Elle est identifiée par le nom réseau de l’ordinateur sur lequel elle s’exécute suivi d’un nom d’instance.

(8)

Les outils de SQL Server :

Les clients de SQL Server

Les composants qui permettent d’attaquer un serveur de base de données SQL Server.

SQL Server Management Studio

Permet de réaliser toutes les opérations au niveau du serveur de base de données.

Gestionnaire de configuration SQL Server

Pour gérer les services liés à SQL Server.

SQL Server Profiler

Pour suivre et analyser la charge de travail d’une instance SQL Server.  Assistant paramétrage du moteur de base de données

Permet une optimisation du fonctionnement du serveur de base de données.

sqlcmd

C’est un outil qu’un DBA doit impérativement connaitre.  Outil de ligne de commande

 Exécuter des requêtes approuvées  Exécuter des scripts de commandes

 Etablir une connexion d’administration dédiée (DAC)

1.4 - L’architecture d’une base de données

Base de données SQL Server :

Une base de données permet de stocker des objets logiques.

 Les données : tables, indexes, types de données, contraintes d’intégrité, valeurs par défaut, règles.

 Accès aux données : vues, procédures et fonctions  Gestion de l’intégrité complexe : déclencheur

(9)

Chaque base de données système est  Master

C’est la base mètre elle est le dictionnaire des données. Elle contient une référence de l’ensemble des objets crées.

MSDB

(10)

Model

Elle va permettre de définir le model de création d’une base de données. Chaque base de données créée va s’appuyer sur la structure de la base model. La base de données créée est une copie de la base model. Une modification apportée à la base Model va impacter l’ensemble des bases.

Tempdb

Elle va servir pour toutes les opérations de type temporaire.

Ressource

Elle permet de stocker les évolutions apportées aux différentes versions de SQL Server 2012 pour faciliter les migrations.

Les tables systèmes :

Les bases de données masters contiennent des tables systèmes  Utilisées directement par le moteur de SQL Serveur.  Déconseillé d’accéder directement à ces tables Quelques tables systèmes :

 sys.server_principals: Liste des connexions définies sur le serveur  sys.sysmessages: Une ligne pour chaque message ou avertissement  sys.sysdatabases: Une ligne pour chaque base de données

 sys.sysusers: Une ligne pour chaque utilisateur défini au niveau de la base de données courante

Les procédures stockées système :

 Interroger les tables système.

 Connaître l’état du serveur, de la base …  Effectuer des opérations de configuration Quelques procédures stockées systèmes:

 sp_helpsp_help

[

nom_objet

]

: Information sur l’objet indiqué.

 sp_helpdbsp_helpdb

[

nom_base_données

]

: Information sur la base de données indiquée.

 sp_whosp_who: Liste des utilisateurs actuellement connectés

Le catalogue:

 Contient des vues systèmes

 Toutes ces vues sont présente dans un schéma sys.  Regroupées par thèmes

Objets, types et index Serveurs liées

CLR

(11)

Les fonctions systèmes:

 Utilisable avec des commandes Transact SQL Quelques procédures stockées systèmes:

 DB_ID: Retrouve l’identification de la base de données.

 USER_NAMEUSER_NAME : Retrouve le nom de l’utilisateur à partir de son identifiant.

Schéma d’information:

 Ensemble de vues

(12)

Chapitre II :

Installation et configuration de SQL Serveur 2012

L’objectif du chapitre :

 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  Vérifier et valider une instance

2.1 - Préparation de l’installation

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

(13)

2.2 - Réalisation d’une Installation manuelle de SQL Server 2012

TP pratique d’une installation manuelle de SQL Server 2012.

Etape 1 : Lancement du programme d’installation

(14)

Le Menu de gauche du centre d’installation nous donne les différentes actions que nous pouvons effectuées.

La planification :

Qui contient un certain nombre d’outils. Celui qui nous intéresse ici est l’outil d’analyse de configuration système.

Cet outil nous permet de vérifier que notre système est près pour l’installation.

L’installation :

Le Menu Installation nous présente quatre outils. Nous allons lancer l’outil :

« Nouvelle installation autonome de SQL Server ou ajout de fonctionnalités à une installation existante ».

(15)

Après une autre vérification des composants nécessaires pour l’installation, le programme

d’installation va installer les fichiers d’installation.

Après l’ajout de la clé d’installation et l’acceptation du contrat de contrat de licence nous avons une étape importante qui est le « Rôle de l’installation ». Nous avons 3 ou 2 options. Nous choisissons celle qui nous permet de choisir et installer les fonctionnalités de SQL Server nécessaires pour gérer notre serveur.

(16)
(17)
(18)
(19)

2.3 - Réalisation d’une Installation automatique de SQL Server 2012

Mise en œuvre.

 Création d’un fichier de configuration .ini  Démarrage de l’installation automatisée

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

2.4 - SQL Server Management Studio (SSMS)

C’est l’outil principal de gestion et d’administration. Il utilisé par les administrateurs et les développeurs.

 Un requêteur avancé

 Permet une gestion graphique des instances et des objets  Permet une gestion centralisée des instances distantes  Intègre la complétion

2.5 - SQLCMD

C’est un outil incontournable dans l’administration de SQL Server. Un outil de gestion et d’administration en mode ligne de commande.

 Permet l’exécution de requêtes et des scripts

 Etablir une connexion d’administration dédiée (DAC)

2.6 - Configuration de SQL Server 2012

Il est question ici de voir les différents moyens de configuration de SQL Server 2012. Les éléments de configurations sont les services (Les Moteurs, …les composants sélectionnés lors de l’installation). Les états  Démarré  Suspendu  Arrêté Via

 Gestionnaire de configuration SQL Server  Gestionnaire de service Windows

Utilisation de l’outil SSMS (SQL Server Management Studio)

 Inscrire un serveur

 Gérer la configuration d’un serveur (Mot de passe de l’administrateur, Gestion des ressources)

(20)

Chapitre III :

Les bases de données SQL Server 2012

3.1 - Architecture globale de SQL Server

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 la 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 toute les modifications de la base de données

Fonctionnement des fichiers journaux :

Les fichiers de données :

Rattaché à une seule base de données

Structuré en pages de 8k

 Les pages contiennent les enregistrements

 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 texte et

image)

(21)

Deux méthodes :

En transact-SQL

SQL Server Management Studio (SSMS)

Les informations nécessaires :

Le nom de la base de données, la collation

La taille L’espace de stockage En Transact SQL : Cas pratique : Nom : gecos

 Deux fichiers de données

 gecos_data01.mdf (taille = 10MB, maxsize=100B et autoextend OFF)  gecos_data02.ndf (taille = 10MB, maxsize=100B et autoextend 10MB)  Stockage dans C:\MSSQL\DATA

Un fichier journal

 gecos_log01.ldf(taille = 15MB, maxsize=200B et autoextend 10%)  Stockage dans C:\MSSQL\LOGS

(22)

3.3 - Les groupes de fichiers

Un groupe de fichiers est une :

Structure logique

 Permet de regrouper des fichiers de données et de les gérer comme des unités logiques. (Unité logique auquel vont s’attacher des fichiers physiques de type .mdf ou .ldf)

Nous avons :

Deux types de groupe de fichier

 Un type primaire. (crée par défaut par le système)  Un autre type défini par l’utilisateur

Utilisation :

 Répartition des données par type (tables, indexes)  Répartition des données pour la charge

Création et Ajout de fichiers au groupe :

 Syntaxe de création de groupe de fichiers

ALTER DATABASE <nom_base_données>

ADD FILEGROUP <nom_tablespace>;

 Syntaxe d’ajout de fichiers au groupe

ALTER DATABASE <nom_base_données>

ADD FILE <spécification du fichier> TO FILEGROUP <nom_tablespace>;

(23)

Objectif

 Diviser des tables volumineuses en plusieurs tables

 Optimiser le stockage (Stockage sur différents groupes de fichiers)  Montée en charge

Un exemple

Implémentation

 Définir une fonction de partitionnement  Définir un schéma de partitionnement  Créer les tables partitionnées

Possibilité de créer un index sur une table partitionnée (l’index crée est partitionné selon la table)

Fonction de partition

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

Syntaxe

CREATE PARTITION FUNCTION <nomfonction> ( parametre_type) AS RANGE [ LEFT | RIGHT ] FOR VALUES ( [ valeurLimite [ ,... ] ]

Parametre: colonne de tous types sauf timestamp, varchar(max), nvarchar(max) et

varbinary utilisé pour calculer la clé de partitionnement.

(24)

Schéma de partition

• 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 fichiers (non recommandé)

Syntaxe

CREATE PARTITION SCHEME nomSchemaPartition AS PARTITION nomFonctionPartition

[ 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.

Création d’une table de partitionnée

Syntaxe

CREATE TABLE nomTable( definitionColonne [,...]

) ON nomSchemaPartition(colonneUtiliséePourCalculerLaPartition)[;]

Création d’un index partitionné

Syntaxe

CREATE INDEX nomIndex ON nom Table(colonne1, …)

(25)

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 stockage des alertes et travaux pour l’agent SQL Server • tempdb base de stockage des objets et données temporaires

Cette base est recrée à chaque redémarre du SGBD

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 • AUTO_UPDATE_ STATISTICS { ON | OFF} => IsAutoUpdateStatistics • AUTO_CLOSE => IsAutoClose

• RECOVERY => recovery • AUTRE => status, collation Afficcher la valeur des options

• Fonction DATABASEPROPERTYEX Syntaxe

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

• Utilisation de sys.databases

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

• Les autres procédures

sp_helpdb, sp_spaceused;

Modification des options de configuration

En TRANSACT-SQL

- Syntaxe

(26)

Chapitre IV :

Sauvegarde des bases de données SQL Server 2012

4.1 - Introduction à la sauvegarde

 Pourquoi sauvegarder • Panne matérielle (support)

• Mauvaise manipulation des utilisateurs • Panne serveur

• Déplacement de base de données

 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

• Impossible de créer des indexes pendant la sauvegarde • Exécution d’opérations non journalisées et non autorisées

 Les principales méthodes de sauvegardes • Sauvegarde complète

• Sauvegarde différentielle

• Sauvegarde du journal des transactions • Sauvegarde des groupes de fichiers • Partielle

 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

 Sauvegarde différentielle

• Sauvegarde les parties de la base de données modifiées depuis la sauvegarde complète

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

(27)

 Sauvegarde du journal des transactions • Pré-requis : sauvegarde complète indispensable • Nécessite le mode de récupération COMPLET

 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

4.2 - 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

 Les privilèges nécessaires pour réaliser une sauvegarde  Rôles de serveur

(28)

 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  Syntaxe

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

<unite logique> | DISK= <chemin_nom>

 Vérifier l’intégrité d’une sauvegarde  Syntaxe

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

4.3 - 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 quel que soit le mode de récupération utilisé

 Commande BACKUP  Syntaxe

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

Utilisable quel que soit le mode de récupération utilisé

4.4 - 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 sauvegarde de journal

• Sauvegarde toutes les transactions jusqu’à la transaction actuelle ouverte complète

(29)

journal des transactions

 Commande BACKUP  Syntaxe

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

4.5 - 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

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

 Commande BACKUP  Syntaxe

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

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

4.6 - 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

• 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

 Commande BACKUP  Syntaxe

BACKUP DATABASE <nom_base> READ_WRITE_FILEGROUPS TODISK = <fichier_nom>

(30)

Chapitre V :

Restauration des bases de données SQL Server 2012

5.1 - Les pré-requis à la restauration

 La vérification des sauvegardes RESTORE HEADERONLY RESTORE FILELISTONLY RESTORE LABELONLY RESTORE VERIFYONLY

 Avant de restaurer

Aucune connexion utilisateur ne doit être en cours

Interdire toute nouvelle connexion au serveur pendant la restauration Mode mono-utilisateur

5.2 - Restauration des bases 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

• Restauration d’une page corrompue

 Les options de la commande RESTORE • RECOVERY

• NORECOVERY

• FILE

• MOVE... TO • REPLACE

• STOPAT (PITR: point in time recovery)

(31)

 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 aucunes données

• Possible 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

5.5 - Les snapshots (Captures instantanées) de base de données

 Création d’une capture instantanée CREATE DATABASE <nom_capture> ON (NAME =<nom_fichier_logique>, FILENAME = <nom_fichier_OS> ) [ ,... ]

(32)

Chapitre VI :

Importation et exportation des bases de données SQL

Server 2012

6.1 - Introduction aux outils d’import / export

 Les outils de transfert

• SSIS (SQL Server Intégration Service)

Extraction, transformation, chargement

• BCP

Outil en ligne de commande

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

• BULK INSERT

• Réplication

• SELCT INTO et INSERT

6.2 - SSIS (SQL Server Integration Service)

 Terminologie

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

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

(33)

 Utilisation

• Assistance

• Concepteurs SSIS

• Utilitaires de ligne de commande dtexec

6.3 - BCP (BULK Copy Program)

 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

 Outil BCP

• syntaxe

bcp {nom objet | requete} { in | out | queryout | format }

<fichier_de_donnees> -S -T...

6.4 - BULCK INSERT

 Caractéristiques

• Importer un fichier de données dans une table ou vue de base de données

dans un format spécifié par l’utilisateur

 Commande BULK INSERT

• syntaxe

[ database_name . [ schema_name ] . | schema_name .] [ table_name | view_name ] FROM 'data_file'

[ WITH (

(34)

Chapitre VII :

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

7.1 - 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.

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

 Les modes d’authentification

• 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

• 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

(35)

• Windows

Group Windows, Compte d’utilisateur de domaine, Compte d’utilisateur local

• SQL Server

Connexion SQL Server, Rôle de serveur

• Base de données

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

• Configuration des identifiants SQL Server Identifiant = accès des utilisateurs à SQL Server

• Création d’un identifiant (authentification Windows) Syntaxe

CREATE LOGIN [<domaine>\<nom_connexion>] FROM WINDOWS [WITH DEFAULT_DATABASE=<base_de_données> | DEFAULT_LANGUAGE=<langue>

• 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 | OFF} | , [CREDENTIAL=<nom_credit>

• 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

• Modification

Syntaxe

ALTER LOGIN <nom_utilisateur> WITH <option>

(36)

Syntaxe

ALTER LOGIN <nom_utilisateur> DISABLE

• Suppression

Syntaxe

DROP LOGIN <nom_utilisateur>

DROP LOGIN <domaine/nom_utilisateur>

7.2 - Les credentials

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

 Un credential = un compte Windows

 Un compte SQL Server est rattaché à un credential  Création d’un credential

Syntaxe

CREATE CREDENTIAL <nom_du_credit>

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

7.3 - Les utilisateurs de la base de 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_SHEMA

• Les droit sur les objets (base, schema, objets) sont des données aux utilisateurs de base de 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

- Ne peut être supprimé

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

(37)

- 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

GRANT CONNECT TO guest;

- Désactivation du compte guest

REVOKE CONNECT FROM guest;

 Création d’un utilisateur d’une base données Syntaxe

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

 Modification d’un utilisateur de base données Syntaxe

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

 Suppression d’un utilisateur de base données Syntaxe

DROP USER <utilisateur>

 Les vues systèmes

Sys.database_principals

 Savoir qui est connecté

Procedure

sp_who

7.4 - Les schémas

 Caractéristiques

• Apparue dans MSSQL en 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 • Associé à un utilisateur

• Schéma par défaut dbo

• Pour accéder à des objets en dehors de son schéma, faut faire précéder le nom de l’objet par le nom du schéma.

Création

Syntaxe

(38)

Modification

Syntaxe

ALTER SCHEMA <nom_schema> TRANSFER <objet>;

Suppression (doit être vide) Syntaxe

DROP SCHEMA <nom_schema>;

7.5 - Gestion des droits sous SQL Server

 Caractéristiques

• Plusieurs niveaux d’attribution des privilèges

- Au niveau serveur - Au niveau base - Au niveau schéma - Au niveau objets

• Deux types de droits au niveau base - Droits d’utilisation d’instructions - Droits sur les objets

 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

 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 - 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

 La commande GRANT

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

 La commande REVOKE

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

(39)

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

 Les privilèges sur les objets

• Tables

SELECT, INSERT, UPDATE, DELETE • Procédures

EXECUTE

 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 ]

 La commande DENY

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

(40)

Chapitre VIII : Automatisation de la

Gestion de SQL Server 2012

8.1 - 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

• Terminologie Tâches planifiée Les alertes Les opérateurs

8.2 - 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

8.3 - 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

- Messagerie - Net send

- Radiomessagerie

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

8.4 - Alertes

 Caractéristiques

Permettent

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

(41)

Erreurs SQL Server

• En fonction du numéro de l’erreur • En fonction de la gravité

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  Création d’une alerte

• Via SQL Server Management Studio • Via Transact SQL

sp_add_alert pour créer une alerte

sp_update_alert pour mettre à jour une alerte sp_delete_alert pour supprimer une alerte

8.5 - Travaux

 Caractéristiques

Constitué d’une ou plusieurs étapes (tâches) Deux états possibles pour une tâche

- Echec - Succès

Enchainement possible entre les étapes

Plusieurs types d’étapes

- Transact SQL, Commande système, Package, …

(42)

Chapitre IX : Lecture d’une base de données SQL Server en

VB.NET

(43)

Références

Documents relatifs

– si un même type d’entité intervient plusieurs fois dans un même type d’association, on doit explicitement indiquer le rôle de chaque entité – si on a

 Optimisation des performances à l'aide de vues Implémentation de procédures stockées.  Présentation des

h) Nom et prime des joueurs sponsorisés par Peugeot entre 1985 et 1990. i) Nom et année de naissance des joueurs ayant participé au tournoi de Rolland Garros de 1989. j) Nom

L’observatoire économique et touristique local « Pays du St-Bernard » se présente actuellement sous la forme d’un projet pilote, basé sur une base de données relationnelles

Cette requête retourne exactement les mêmes colonnes qu’il y a dans la base de données. Pour en savoir plus sur le sujet il est recommandé de lire l’article avantage et

tants’ concentrations, synthesis temperature and ultrasound) on product properties is studied6. Synthesized product is very agglomerated whatever process parameters but some

So, if the problem or the chosen optimization strategy forbids to evaluate the objective function when it is unfeasible, more powerful general purpose reproduction operators than

Comme on le voit dans la correspondance de Jules Simon, ces reconstructions du groupe des spiritualistes par les spiritualistes mettent surtout en évidence un décalage entre de