Upload
serge-veron
View
109
Download
2
Embed Size (px)
Citation preview
Vue d’ensemble des fonctionnalités d’administrationde SQL Server 2005
Architecte Infrastructure
Agenda• Généralités• La migration• La sécurité• L’administration au quotidien• La gestion des données• La haute disponibilité• Les architectures distribuées
• Améliorations pour les développeurs• Composants de la partie décisionnelle
Valeur de l’offre Gestion automatique
Performance et Sécurité Intégration du Décisionnel
Objectifs long terme :
SQL Server 6.0/6.5
Différentiation de Différentiation de Sybase SQL Sybase SQL ServerServer
Intégration à Intégration à WindowsWindows
Intégration de la Intégration de la RéplicationRéplication
1ere Génération
SQL Server 7.0
SQL Server 2000
Performance, Performance, montée en chargemontée en charge
Support du XMLSupport du XML Intégration des Intégration des
services de services de Notification, de Notification, de Reporting et de Reporting et de Data MiningData Mining
Réécriture du Réécriture du moteur relationnelmoteur relationnel
Gestion Gestion automatisée des automatisée des ressourcesressources
Intégration des Intégration des services OLAP et services OLAP et ETLETL
2ème Génération
SQL Server 2005
Haute disponibilitéHaute disponibilité SécuritéSécurité Intégration CLRIntégration CLR XML NatifXML Natif Nouveau moteur Nouveau moteur
ETL d’entrepriseETL d’entreprise 64 bits IA-32 et x6464 bits IA-32 et x64
3ème Génération
Une version majeure
Une offre globale
EnterpriseEnterpriseLa plate-forme intégrée La plate-forme intégrée
pour la gestion et pour la gestion et l’analyse de données l’analyse de données
des applications critiques des applications critiques de l’entreprisede l’entreprise
Pas de limitation + Pas de limitation + PartitionnementPartitionnement
Miroir BD complet & Miroir BD complet & Cluster 8 nœuds Cluster 8 nœuds
Opérations en ligne Opérations en ligne et redémarrage rapideet redémarrage rapide
Clichés BDClichés BD
Outils avancés (ETL, Outils avancés (ETL, OLAP et Data Mining)OLAP et Data Mining)
Serveurs de rapports Serveurs de rapports mutiplesmutiples
Nouveauté SQL Server 2005
ExpressExpress WorkgroupWorkgroup StandardStandardAdaptée aux Adaptée aux
développeurs pour développeurs pour apprendre, construire apprendre, construire
et déployeret déployer
La base de données La base de données pour les petites entités pour les petites entités
et les activités en et les activités en croissancecroissance
La plate-forme complète La plate-forme complète pour la gestion et pour la gestion et
l’analyse des données l’analyse des données destinée aux entités destinée aux entités moyennes à grandesmoyennes à grandes
Gratuit
2 Proc 2 Proc 3 Go mémoire3 Go mémoire
Outil Outil d’administration d’administration
Management StudioManagement Studio
SQL AgentSQL Agent
Assistant Assistant d’optimisationd’optimisation
Recherche en Recherche en texte intégraltexte intégral
Serveur de Serveur de Réplication limitéRéplication limité
Transfert journaux Transfert journaux ((Log shippingLog shipping))
4 Proc 4 Proc versions 32 & 64-bitversions 32 & 64-bit
Miroir de BD limitéMiroir de BD limité
Cluster 2 noeudsCluster 2 noeuds
Integration ServicesIntegration Services (ETL)(ETL)
Analysis ServicesAnalysis Services (Serveur OLAP)(Serveur OLAP)
Data MiningData Mining
Réplication complèteRéplication complète
Notification ServicesNotification Services
1 Proc1 Proc1 Go mémoire1 Go mémoire
4 Go base4 Go base
Outil d’administration Outil d’administration simplifiésimplifié
Sécurité intégréeSécurité intégrée
Support XML & Support XML & Améliorations T-SQLAméliorations T-SQL
Intégration .Net & Intégration .Net & CLRCLR
Serveur de rapportsServeur de rapports
Import/ExportImport/Export
Client RéplicationClient Réplication
Une offre adaptée à vos besoins
Prix croissant
Transactionnel Enregistrement des données de marché
Pic de 12 000 Transaction par Seconde
Transactionnel Internet Auction Co., Ltd (Korea ) SGBDR et moteur OLAP
Volumétrie : 2,7To
Transaction par seconde : 3 600
CRM SGBDR pour Siebel
Nb d’utilisateurs: 8 000 Siebel eService
Volumétrie: 1 To SAN
ERP Utilisation de SQL comme BDD pour SAP
Volumétrie : 1 To+, 5 To Stockage
Nb d’utilisateurs : 2000 concurrents
ERP Utilisation de SQL Server pour l’appli. de facturation
Volumétrie: 5 To & 33 Milliards de lignes & 15 To total
Services Web 5 Millions d’images, + 10 Millions de fichiers
99,99 % de disponibilité
20 Serveurs
Décisionnel SQL Server 64 bits comme moteur OLAP
Volumétrie: 2,5 To & Croissance de 30% / an
Coût: réduct. 70% / Perf multipliées par 4
Une offre crédibleRéférences 2000
TP
C-C
res
ults
to
the
left
: D
ell P
ower
Edg
e 28
00,
38,0
28 t
pmC
, 0.
99 $
/tpm
C,
avai
labl
e 11
/8/0
5;IB
M e
Ser
ver
xSer
ies
460
16P
c/s
, 49
2,30
7 tp
mC
, 6.
37 $
/tpm
C,
avai
labl
e 5/
20/2
006;
Uni
sys
ES
7000
/600
Ent
erpr
ise
Ser
ver
(16P
), 3
76,0
45 t
pmC
, 3.
97 $
/tpm
C,
avai
labl
e 1/
3/20
06;
HP
In
tegr
ity S
uper
dom
e, 1
,231
,434
tpm
C,
4.91
$/t
pmC
, av
aila
ble
5/5/
06.
Res
ults
as
of 1
2/5/
05.
TPC-CTPC-C
38K tpmC38K tpmC0.99 $ / 0.99 $ / tpmCtpmC
IBM: 492K tpmCIBM: 492K tpmCUnisys: 3.97 Unisys: 3.97
$/tpmC$/tpmC1.2M tpmC1.2M tpmC
64P1P 16P
Benchmarks
TP
C-H
res
ults
abo
ve:
HP
Pro
Lian
t D
L585
-G1
12,6
00 Q
phH
@10
0GB
, 9.
43 $
/Qph
H@
100G
B,
avai
labl
e 11
/7/0
5; B
ull N
ovaS
cale
516
0, 1
7,05
9 Q
phH
@1T
B,
25.4
8 $/
Qph
H@
1TB
, av
aila
ble
5/5/
06;
HP
Int
egrit
y S
uper
dom
e, 3
0,95
6 Q
phH
@3T
B,
76.8
2 $/
Qph
H@
3TB
, av
aila
ble
5/5/
06;
NE
C E
xpre
ss58
00/1
320X
e, 2
8,39
0 Q
phH
@3T
B,
66.5
2 $/
Qph
H@
3TB
, av
aila
ble
5/5/
06.
R
esul
ts
as o
f 12
/5/0
5.
12,600 12,600 QphHQphH9.43 $/QphH9.43 $/QphH
HP: 17,725 QphHHP: 17,725 QphHBull: 25.48 Bull: 25.48
$/QphH$/QphH
TPC-HTPC-H
1 TB16P100 GB
3 TB32P
30,956 30,956 QphHQphH
La migration• Les stratégies possibles :
• Montée de niveau
• Migration
• Les différentes étapes
• La préparation
• L’outil « Conseiller de mise à niveau »
Administration
MigrationVers 2005
Montée de niveau d’une instanceUpgrade
SQL Server 2005SQL Server 2005Instance: AInstance: A
SQL Server 7.0/2000SQL Server 7.0/2000Instance: AInstance: A
Montée deMontée deniveauniveau
CompareCompare& &
VérifieVérifie
Migration
SQL Server 7.0/2000SQL Server 7.0/2000Instance: Instance: AA
SQL Server 2005SQL Server 2005Instance: Instance: BB
MigrationMigration
Vérifiée!
Avant la migrationou la mise à niveau
Rapport du Conseiller de mise à niveau SQL Server
Mis
e à
niv
eau
ou
Mig
rati
on
Ap
rès
la m
ise
à n
ivea
u o
u l
a m
igra
tio
n
Prêt
Conseiller de mise à niveau SQL Server
Démo !
Nouveautés pour la sécurité
• SQL Server Surface Area Configuration /
• Configuration de la surface d’exposition
• Séparation utilisateur – schéma
• Encryption dans la base et gestion des clés
• Mêmes politiques de mots de passe que Windows Server 2003
Administration
Nouveautés2005
SQL Server Surface Area Configuration
• Toutes les fonctionnalités présentant un risque potentiel pour la sécurité sont désactivées par défaut Démo !
Séparation Utilisateur-Schéma
• Chaque schéma est possédé par un rôle ou un utilisateur
• Chaque utilisateur possède un schéma par défaut pour la résolution des noms
• Les objets BD appartiennent à un schéma
• La création d’un objet dans un schéma nécessite les droits
– CREATE TABLE et
– La possession du schéma ou ALTER ou CONTROL
Utilisateur 1
possèdeA comme défaut
possède
Rôle 2
possède
Schéma2
Schéma3
SP1F1
Tab1
Base
Rôle1
Schéma1
Le problème…
Utilisateur 1Utilisateur 1Objet Objet
SGBDSGBD
Possédé par
TableTable
VueVue
ProcédureProcédure
FonctionFonctionUtilisateur 2Utilisateur 2
Résolution des nomsRésolution des nomsSelect * from FooSelect * from Foo
Utilisateur.fooUtilisateur.foo
Dbo.fooDbo.foo
Supprimer un utilisateur pouvait nécessiter Supprimer un utilisateur pouvait nécessiter de modifier l’application !de modifier l’application !
La solution…
UserUserObjetObjet
SGBDSGBDSchémaSchéma
Appartient à Possédé parPossédé par
TableTable
VueVue
ProcédureProcédure
FonctionFonction
User 2User 2
Possédé par
Supprimer un utilisateur NE nécessite PLUS de Supprimer un utilisateur NE nécessite PLUS de modifier l’applicationmodifier l’application
Appartient à
Résolution de nom
SchémaSchéma
TableTable
VueVue
ProcédureProcédure
FonctionFonction
User 2User 2
Possédé par
Schéma par défautSchéma par défaut
Utilisateur 1Utilisateur 1
Schéma par défaut S1Schéma par défaut S1
Utilisateur 3Utilisateur 3
Résolution du Résolution du nomnomSelect * from fooSelect * from foo
•S1. fooS1. foo
•Dbo.fooDbo.fooUtilisateur 2Utilisateur 2
Encryption des données et gestion des clés
• Possibilité d’encrypter et de décrypter les données via les mécanismes suivants :– Certificats– Clés symétriques– Clés asymétriques
• Fonctions T-SQL encrypt et decrypt
L’administration au quotidien• Des outils optimisés
• SQL Server Management Studio
• Plan de maintenance graphiques (utilisation du moteur SSIS)
• Améliorations au niveau de la sauvegarde / restauration
• Restauration de fichiers et de pages en ligne
• Opérations en ligne
• Protection contre les erreurs (Cliché de BD ou « Snapshot »)
Administration
Mais aussi :• Vues dynamiques (sys.dm_*)• clause ATTACH_REBUILD_LOG• procédure sp_create_plan_guide• paramètre AUTO_UPDATE_STATISTICS_ASYNC• fichiers de paramétrage XML pour l’utilitaire bcp
Nouveautés2005
Des outils optimisésPropriétés « Serveur »
Démo !
Plans de maintenance graphiques
Opérations en ligne
Il n’est plus nécessaire de s’arrêter pour…• La maintenance des indexes « Online »
– Create, Rebuild, Reorganize, Drop, Add et drop constraint
– Opérations complètement parallèles
• La restauration de pages et de fichiers– La base reste accessible– Seule les données en cours de restauration sont
inaccessibles.
• On peut toujours les faire « Offline »
Exemple de créationd’index en ligne
• Création d’index
CREATE CLUSTERED INDEX myidx ON mytab (a, b, c) WITH ( PAD_INDEX = ON, FILLFACTOR = 75, ONLINE = ON, MAXDOP = 6) ON
filegroup1
• Reconstruction d’index (était DBCC DBREINDEX)
ALTER INDEX myidx ON mytab REBUILD WITH ( ONLINE = ON, MAXDOP = 4 )
NouveauSS 2005
Sauvegardes & Restaurations améliorées
• Possibilité de faire des sauvegardes sur 2 à 4 périphériques (identiques) en parallèle
• Possibilité de calculer une somme de contrôle (« checksum ») pour garantir la fiabilité de la sauvegarde
• RESTORE VERIFY_ONLY, – STOP_ON_ERROR et
CONTINUE_AFTER_ERROR
• Restaurations partielles : groupe de fichiers, fichiers, ou page
– la base reste accessible pendant la restauration tant que l’on accède pas au fichier en question
NouveauSS 2005
BD
Svg 1
Svg 2
• Copy-Only BackupsPermet de faire une sauvegarde complète sans perturber la chaîne des sauvegardes
Idéal pour faire une copie de la base de production sans perturber l’exploitation
BACKUP DATABASE <dbname> WITH COPY_ONLY
Cliché BD (“DB Snapshot”) Comment ça marche ?
MonSnap – Cliché en lecture simpleMonSnap – Cliché en lecture simpleUSE MonSnapUSE MonSnapSELECT SELECT (pages 4, 6, 9, 10, 14)(pages 4, 6, 9, 10, 14)
11
PagePage
22 33 4’4’ 55 66 77 88 9’9’ 10’10’ 1111 1212 1313 1414 1515 1616
CREATE DATABASE MonSnap AS SNAPSHOT OF MaBaseCREATE DATABASE MonSnap AS SNAPSHOT OF MaBase
MaBase MaBase
USE MaBaseUSE MaBaseUPDATEUPDATE (pages 4, 9, 10) (pages 4, 9, 10)
44 99 101011 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515 1616
NouveauSS 2005
Si nécessaire : RESTORE DATABASE MaBase FROM SNAPSHOT MonSnap
La gestion des données
• Partitionnement
Administration
Partitionner ?
• Quoi?– Partitionnement de tables, d’indexes, vues indexées
• Pourquoi?– Grosses tables
• Ajout/suppression facile de grandes quantités de données (Archivage)• Backup/Restore par groupe de fichiers
– Mieux utiliser des opérateurs parallèles sur des machines avec beaucoup de CPU (16, 32, …)
– Concurrence d’accès (Lock Escalation)
• Comment?– Partitionnement d’enregistrement (horizontal)
A, B, CA, B, C D, E, FD, E, F G, H, IG, H, I J, K, LJ, K, L
A, B, C, D, E, F, G, H, I, J, K, LA, B, C, D, E, F, G, H, I, J, K, LDonnées Non PartitionnéesDonnées Non Partitionnées
DonnéesDonnées PartitionnéesPartitionnées
3 étapes• A chaque ligne correspond une partition grâce à la
« partition function »CREATE PARTITION FUNCTION Part_Fon (int) as RANGE
RIGHT FOR VALUES (10, 20, 30)
• A chaque partition correspond un emplacement physique (Filegroup) grâce au « partition scheme »CREATE PARTITION SCHEME Part_Sche AS PARTITION
Part_Fon TO ([Filegroup1], [Filegroup2], [Filegroup3], [Filegroup4])
• CREATE TABLE Employees (EmpId int, EmpName varchar(50)) ON Part_Sche (EmpId);
Un index utilisant une fonction et une clef de partitionnement similaire à la table est dit « aligné » best practice
Tables & Index partitionnés
• La clé de partitionnement doit correspondre à une seule colonne
• Les tables et les index sont créés sur le schéma de partition (au lieu des Filegroups)
• Le partitionnement est transparent pour les requêtes• Des tables et index différents peuvent partager des
fonctions et de schémas de partitionnement
Table ouTable ouIndexIndex
PartitionPartitionSchémaSchéma
PartitionPartitionFonctionFonction
11 nn nn
Comment ajouter ou supprimer des partitions?
• Permet de traiter le cas typique d’ajout et/ou de suppression d’une partition entière
• Réalisé à l’aide de 3 opérations simples sur les partitions :– Split sépare 1 partition en 2– Merge réunit 2 partitions en 1– Switch échange 1 table et une partition
ALTERALTER PARTITION FUNCTION annual_range PARTITION FUNCTION annual_range()()SPLIT RANGE (‘2006-01-01’)SPLIT RANGE (‘2006-01-01’)
ALTER TABLE BSWITCH TO A PARTITION 2 Démo
La haute disponibilité
• Miroir de base de données
• Clustering
• Log Shipping
• Réplication
Administration
Nouveautés2005
• Svg/Restauration rapide• Restauration jusqu’à un instant donné
• Cliché Base de données
La problématique de la disponibilité…
Corruption Corruption des Donnéesdes Données
InterruptionsInterruptionsNon-Planifiées Non-Planifiées
• Opérations de maintenance des index en ligne
• Tables partitionnées
• Transfert de journaux• Réplication• Base de Données Miroir
• Cluster de basculement• Base de Données Miroir
Réorganisation Réorganisation des donnéesdes données
ChangementsChangementsliés au systèmeliés au système
OpérationsOpérationsde Maintenancede Maintenance
Arrêt du Arrêt du SystèmeSystème
Erreurs Erreurs HumainesHumaines
•Cluster de basculement•Base de Données Miroir 2005
2005
2005
2005
2005
2005
2005
Redémarrage rapide(« fast recovery »)
• SQL Server 2000 – La base est accessible après avoir rejouée les transactions validées et défait les
transactions non validées.
• SQL Server 2005– La base est accessible dès que les transactions validées ont été rejouées. Les pages
correspondant à des transactions non validées restent verrouillées jusqu’à ce que les transactions soient défaites.
Temps de redémarrage (et de basculement) réduit
Défaire Défaire (undo)Refaire Refaire (redo)
Base AccessibleBase Accessible
Défaire Défaire (undo)Refaire Refaire (redo)
Base AccessibleBase Accessible
tempstemps
NouveauSS 2005
Solutions pour la Haute Disponibilité
CommunicationGranu-larité
Basculement Pertes potentielles
Miroir
de BD
TCP endpoints BD Automatique (qq sec)
Aucune en synchrone
Cluster Base unique
Disques partagés
Instance Automatique (qq dizaine de sec à qq min)
Aucune
Transfert des journaux
Log Shipping
Copie de fichiers et restauration
Instance Manuel Transactions depuis la dernière copie
Réplication Copie de fichiers et chargement
Table Manuel Transactions depuis la dernière copie
2005
Améliorations 2005
Améliorations 2005
• Un espace disque partagé par plusieurs serveurs, mais un seul serveur y accède à un instant donné
• Détection d’erreurs & basculement automatique• Plusieurs modes :
– Une SEULE base, une SEULE instance– Actif / actif possible avec n instances
travaillant sur n bases • Fournit un redémarrage à chaud dans un délai de
l’ordre de la minute
Jusqu’à 50 instances
Jusqu’à 8 nœuds (Windows Server 2003 x86) ou 4 nœuds en (Win2003 - IA-64 ou x64)
Tous les services sont compatibles–cluster: SQL Server Agent, Analysis Services, Full-Text Search
Une seule installation globale
Cluster de basculement (« Failover Cluster »)
Stockage partagé
AdresseServeurVirtuel
2005
Attention• Un cluster ne protège pas contre les corruptions, la perte de la baie RAID, les désastres sur un site.• Un cluster ne permet d’augmenter la puissance
Cluster distant (ou « Geo Cluster »)
• Solution mixte : Haute Disponibilité + Protection contre les désastres
• Bénéfices :
Pas de pertes de transactions
Pas d’impact sur les performances
Une extension naturelle du cluster
• Contraintes :
Complexité (système + SGBD + réplication disques)
Distance limitée (qq centaines de km)
• Utilisation de cette architecture :
Tous les environnements où une disponibilité maximale est requise sur des données critiques
AdresseServeurVirtuel
Base de Données Miroir (« Database Mirroring ») 1/2
Miroir
PrincipalPrincipal
Témoin
DonnéesJournaux
NouveauSS 2005
Le miroir est toujours en train de rejouer les journaux
SQL Server
DonnéesJournaux
SQL Server
Application
commitcommit
Base de Données Miroir (« Database Mirroring ») 2/2
• Utilisation de cette architecture :
Tous les environnements où une disponibilité maximale est requise sur des données critiques
Témoin• Bénéfices :
Pas de pertes de transactions
Rapidité du basculement (qq sec)
Pas de contraintes sur le matériel
Pas de limite de distance
Solution simple SGBD uniquement
• Contraintes :Impact à évaluer sur les performances en fonction du débit transactionnel sur le site primaire
→ Mode asynchrone possible
Applications distribuées
• Service Broker
• Réplication
• Web Services
Administration
Nouveautés2005
SQL Service Broker
• Services et environnement de programmation pour construire des applications réparties fiables asynchrones
• Apporte une nouvelle infrastructure de communications– Dialogues (conversations) bidirectionnelles– Livraison fiable vers des queues locales et distantes– Exactement une livraison– Pas besoin du commit à 2 phases du DTC– Préserve l’ordre des messages, même dans des tx séparées– Messages volumineux jusqu’à 2 GB – fragmentés– Pas de dépendance sur MSMQ
APP 1APP 1
SQL EngineSQL Engine SQL EngineSQL Engine
APP 2APP 2
Niveau logique
Niveau physique
ServiceDialog Conversation
TransportTransportQueue
Cinématique Service Broker
ApplicationInitiatrice
ApplicationCible
Service
Queue
Niveau applicatif
On écrit
On
lit
Transmission asynchrone
Démo
Architecture Service Broker
ApplicationInitiatrice
ApplicationCible
MessageType
MessageType
Service Service
Queue
Contract Contract
Queue
Niveau applicatif
Niveau logique
Niveau physique
TCP/IP
Endpoint
Transport Transport
Dialog Conversation
Endpoint
• Un schéma à 3 niveaux :– 1 émetteur (publisher)– 1 distributeur (distributor)– N receveurs (subscribers)
• 1 distributeur peut gérer plusieurs émetteurs• 1 receveur peut recevoir des données de
plusieurs émetteurs et les republier à son tour
• Tous les types de réplications permettent les 2 modes :
– l’émetteur propage les modifications (push)– Les receveurs demandent les modifications
(pull)
Modifications possibles sur le receveur (« peer to peer »)
Réplication des changements de schémas
Nombreuses optimisations de performances
Reprise des échanges arrêtés, sans réémission complète des données
Réplication Fusion sur HTTPS (idéale pour la réplication vers les mobiles)
Réplications
2005
2005
Solutions de réplicationQuoi ? Quand ?
Résolution des conflits
Utilisations standards
Cliché
Snapshot
Copie des objets à un instant t
Périodiquement
N/A Initialisation;
Données faiblement modifiées
Transactionnelle
Les transactions Au fil de l’eau
Par transaction Serveur à serveur
Peu d’écarts entre les sites
Fusion
Merge
Les données modifiées entre deux instants
Périodiquement
Ligne par ligne Multiples receveurs
Mise à jour asynchrones
D’égal à égal
Peer to peer
Les transactions Au fil de l’eau
Par transaction Serveur à serveur
Peu d’écarts entre les sites2005
Distribution Agent
DistDB
Logreader Agent
Distribution Agent
DistDB
Logreader Agent
Distribution Agent
DistDB
Logreader Agent
“Ouest” “Nord”
“Sud”
Réplication Transactionnelle: Replication Peer-to-Peer
2005
Réplication depuis OracleRéplication Transactionnelle
• Une base Oracle en tant qu’émetteur– v8+, Unix , Linux, Windows
• Administration depuis SQL Server– Aucun logiciel ne doit être installé sur la base Oracle
• Utilise pleinement les fonctions de Réplication de SQL Server– Réplication Transactionnelle et par Snapshot
• L’inverse est également possible (déjà disponible en 2000)
SQL ServerDistributeur
Abonnés
Gestion des Web Services
• Gestion des Web Services– Configuration– Sécurité– WSDL
• Accès depuis une application tierce
HTTP Endpoint
HTTP.sys
SQL Server
WSDL
Nouveautés SQL Server 2005pour les développeursayant un impact sur l’administration
Intégration renforcée avec .Net
• Intégration avec Visual Studio
• Intégration de la CLR dans le moteur SGBD
• Nombreux langages : T-SQL amélioré, VB.NET, C#, J#...
Extensibilité
• Type de données XML natif
• Type de données créé par l’utilisateur (en langage .Net)
• Nouveaux ordres T-SQL
• Déclencheurs sur DDL
• Notification Services (requêtes asynchrones)
Interopérabilité
• Snapshot Isolation
De nouvelles possibilités pour les Développeurs
Nouveautés2005
Le choix dans l’accès aux données
T-SQLT-SQL
XMLXML
CLRCLR
Accès par Accès par calcul et calcul et par .Netpar .Net
Accès Accès relationnelrelationnel
Accès semi-Accès semi-structuréstructuré
Intégration .NET
Microsoft® Visual
Studio® .NET Project
Assembly: “TaxLib.dll”
Microsoft®SQL Server™
SQL Data Definition: create assembly … create function … create procedure … create trigger … create type …
SQL Queries: select sum(tax(sal,state) ) from Emp where county = ‘King’
CLR hébergée dans SQL
Server
construire
déployer
SQL Server et .NET Framework 2.0
• Environnement de programmation pour– Fonctions
– Procédures stockées
– Triggers
– Types définis par l’utilisateur
– Agrégats
• Sécurité– Intégration de la sécurité SQL Server et CLR
– Trois niveaux de sécurité• Safe, External-Access (verifiable), Unsafe
WindowsWindows
SQL OSSQL OS
SQL EngineSQL Engine
CLR 2.0CLR 2.0
CLR 2.0CLR 2.0
Nouveautés Transact-SQL 2005• Instructions DDL (Data Définition Language)
– Varchar(max), nvarchar(max), varbinary(max), xml– Déclencheurs sur les instructions DDL (DDL Triggers)
• Instructions DML (Data Manipulation Language)– Gestion des Exceptions (Try/Catch)– Instructions CTE (Common Table Expression)– Opérateur Pivot– Fonctions de Classement– TOP– La Clause Output– Mode de Verrouillage (Snapshot Isolation)
Snapshot IsolationCREATE TABLE t1 (c1 int unique, c2 int)INSERT INTO t1 VALUES (1, 5)
Transaction 2 (Snapshot Isolation)
SET TRANSACTION ISOLATION LEVEL SNAPSHOT
BEGIN TRAN
SELECT c2 FROM t1 WHERE c1 = 1
-- SQL Server returns 5
SELECT c2 FROM t1 WHERE c1 = 1
-- SQL Server returns 5
COMMIT TRAN
SELECT c2 FROM t1 WHERE c1 = 1
-- SQL Server returns 9
Transaction 1
BEGIN TRANUPDATE t1
SET c2 = 9 WHERE c1 =1
COMMIT TRAN
Time
Transaction 3 (RCSI)
BEGIN TRAN
SELECT c2 FROM t1 WHERE c1 = 1
-- SQL Server returns 5
SELECT c2 FROM t1 WHERE c1 = 1
-- SQL Server returns 9
COMMIT TRAN
SELECT c2 FROM t1 WHERE c1 = 1
-- SQL Server returns 9
Notifications Services : Evènements, abonnements et notifications
Events
StockSymbol
MSFT
Stock Value
41
ORCL 11 1/4
SUNW 9 1/2
INTC 22
IBM 65
CSCO 11 1/2
SELECT s.SubscriberId, e.StockSymbol, e.StockValueFROM Events e, Subscriptions sWHERE (e.StockSymbol = s.StockSymbol)AND (e.StockValue > s.Trigger)
Les abonnements sont Les abonnements sont aussi des enregistrementsaussi des enregistrementsdans une table.dans une table.
Les évènements sont Les évènements sont des enregistrementsdes enregistrementsdans une table.dans une table.
Effectuer une Effectuer une jointurejointurepermet de produire des résultats permet de produire des résultats (notifications)(notifications)- à intervalles réguliers- à intervalles réguliers- à des moments précis- à des moments précis- de complexité arbitraire- de complexité arbitraire
Sur 3 canaux : HTTP, SMTP et Sur 3 canaux : HTTP, SMTP et fichierfichier
Subscriptions
StockSymbol
MSFT
Trigger
40
SubscriberId
Fonctionnement d’une application de SQL NS
Sources
d’Infor-mation
Sources
d’Infor-mation
Abonnés: ordinateurs, navigateurs, téléphones, messagers
…
Abonnés: ordinateurs, navigateurs, téléphones, messagers
…
SouscriptionsSouscriptions(millions)(millions)
NotificationsNotifications(millions)(millions)
GénérateurGénérateur
AbonnésAbonnés
Evène-Evène-mentsments
Enrichissement des Enrichissement des données avec la données avec la logique d’entrepriselogique d’entreprise
Exploration de Exploration de l’information avec l’information avec les outils de data les outils de data miningmining
AnalyserAnalyser
Présentation et Présentation et distribution des distribution des données données
Accès aux données Accès aux données pour touspour tous
Acquisition et Acquisition et intégration de données intégration de données de système sourcesde système sources
Transformation et Transformation et agrégation de donnéesagrégation de données
IntégrerIntégrer
Business Intelligence
RestituerRestituer
• ETL d’entreprise– Module entièrement nouveau– Haute performance et évolutivité
• Meilleur Design– Environnement de développement– Gestion des versions– Analyse pas à pas visuelle du flux et
des données– Nombreuses transformations natives
• Extensible– Tâches personnalisées– Transformations personnalisées– Sources de données personnalisées
Business Intelligence : Integration Services
Ressources SQL Server• Le site français sur SQL Server 2005 (livres blancs, webcasts en français)
http://www.microsoft.com/france/sql/sql2005
• Le Blog de Patrick Guimonet (actualités, trucs & astuces en français)http://blogs.technet.com/patricg
• Le site Technet français (ressources techniques en français)http://www.microsoft.com/france/technet/produits/sql/2005
• Le site du Support français (ressources techniques en français)http://support.microsoft.com/ph/1044
• Le site global sur SQL Server 2005http://www.microsoft.com/sql/2005
• Le site français Microsoft SQL Server 2000http://www.microsoft.com/france/sql
• Le site global Microsoft SQL Server 2000http://www.microsoft.com/sql/
• Le site Technet global (SQL Server TechCenter)http://www.microsoft.com/technet/prodtechnol/sql/