Sunteți pe pagina 1din 30

Installation SQL server et sa console SQL Server Management Studio sur un XP virtuel

Nous allons travailler sur une base de donnes de gestion de couses hippiques

Cration dune base de donnes BaseCourse_Votre Nom


Crez les tables de cette base de donnes grace au MLD suivant : Proprietaire(num_proprietaire int nom_proprietaire varchar(!"# prenom_proprietaire varchar(!"# adresse_proprietaire varchar(!"# ville_proprietaire varchar(!"# codepostal_proprietaire varchar(!"## Cheval(num_cheval int re$_proprietaire int nom_cheval varchar(!"# datenaissance_cheval date se%e_cheval int totalgain_cheval int# Course (num_course int nom_course varchar(!"# lieu_course varchar(!"# recompense_course int# Participer(re$_course int re$_cheval int date_course date place_course int nbparticipants_course int# Puis e$$ectuez les insertions grace au% requetes suivantes /* table PROPRIETAIRE */ INSERT INTO PROPRIETAIRE VALUES (1,'PICAMEAU','Pierre','10, rue de la ai!','CUSSET','0""#0'$ INSERT INTO PROPRIETAIRE VALUES (%,'C&'te de (ellai)ue','*ea+','11, rue de la ,&r-t','VIC./','0"%00'$ INSERT INTO PROPRIETAIRE VALUES (",'Ra0'&+d','*ule1','%%, rue ,&23','MONTPELLIER','"4000'$ )& /* table C.EVAL */ INSERT INTO C.EVAL VALUES (1,1,'5i'berle0 5ee+','1660/10/1#',1,1#0000$ INSERT INTO C.EVAL VALUES (%,%,'5alida *et','1660/11/%7',1,180000$ INSERT INTO C.EVAL VALUES (",",'5&l'ia','1660/1%/%7',%,190000$ INSERT INTO C.EVAL VALUES (4,1,'5i11 Me du (el Air','166#/1%/17',%,170000$ INSERT INTO C.EVAL VALUES (#,%,'S&lariu1','1667/10/1#',1,160000$ )& /* table COURSE */ INSERT INTO COURSE VALUES (1,'Pri! P3ila)&ria','Vi+2e++e1',%100$ INSERT INTO COURSE VALUES (%,'Pri! Le& &ld d''Or1etti','E+)3ie+',"#00$ INSERT INTO COURSE VALUES (",'Pri! :ueila ;<d<','Vi+2e++e1',%#00$ INSERT INTO COURSE VALUES (4,'Pri! de =ia+e .er'>1','C3a+till0',4100$ )& /* table PARTICIPER */ INSERT INTO PARTICIPER VALUES (1,1,?%9/11/%000?,%,10$ INSERT INTO PARTICIPER VALUES (1,%,?%9/11/%000?,1,#$ INSERT INTO PARTICIPER VALUES (1,",?%9/11/%000?,4,4$ INSERT INTO PARTICIPER VALUES (1,4,?%9/11/%000?,",7$ INSERT INTO PARTICIPER VALUES (%,1,?%7/11/%000?,%,7$ INSERT INTO PARTICIPER VALUES (%,",?%7/11/%000?,",%$ INSERT INTO PARTICIPER VALUES (%,#,?%7/11/%000?,1,10$ INSERT INTO PARTICIPER VALUES (",%,?%6/11/%000?,%,#$ INSERT INTO PARTICIPER VALUES (",4,?%6/11/%000?,1,10$ INSERT INTO PARTICIPER VALUES (4,1,?"0/11/%000?,%,7$ INSERT INTO PARTICIPER VALUES (4,%,?"0/11/%000?,1,10$ INSERT INTO PARTICIPER VALUES (4,#,?"0/11/%000?,",8$ )&

Cration dutilisateur sur la B

! "estion des droits utilisateurs sur cette B

Crer les utilisateurs& ' ( comme comptes )indo)s et les insrer dans un groupe )indo)s nomm *tilsateur+,L : Pour cela $aire un clic droit sur le poste de travail-.rer- *tilisateurs

Puis les a/outer dans +,L +erver


&0 Dans +,L +erver Management +tudio ouvrez l12%plorateur d1ob/ets et dveloppez le dossier de l1instance du serveur o3 crer le compte de conne%ion0 Cliquez avec le bouton droit sur le dossier Scurit pointez sur Nouveau puis cliquez sur Connexion0 Dans la page Gnral entrez le nom d1un utilisateur 4indo)s dans la zone Nom d'accs0 +lectionnez Authentification Windows0 Cliquez sur OK0

2. 3. 4.
!0

Utilisateurs *tilisateur& *tilisateur5 *tilisateur6 *tilisateur( Marie_Numro.roupe

Mot de passe Windows utilisateur& utilisateur5 utilisateur6 utilisateur( Compte SQL Server

2n utilisant +,L +erver Management +tudio accorder les autorisations suivantes (clic droit sur la tableproprit-autorisations# : Utilisateurs Marie_Numro.roupe Autorisations Peut slectionner les occurrences de toutes les tables de la base Peut insrer des occurrences dans toutes les tables Peut supprimer des occurrences dans la table C7289L *tilisateur& *tilisateur5 *tilisateur6 *tilisateur( Peut consulter la table P:;P:<2=9<:2 9 les m>mes droits que le propritaire de la base 9 les m>me droits que Marie0 ;n crera un r?le qu@on lui attribuera Peut slectionner la table P9:=<C<P2: modi$ier le nom et l@adresse des propritaires et transmettre ces droits

Avec le compte SQL Server Marie, ralisez les oprations suivantes : (pour se connecter avec ce compte $aire un clic droit sur le serveur - connection# 2%cutez le script <nsertCourse0sql (rpertoire =P! sur PolAMalhiere# permettant de remplir les tables 9$$icher le contenu de chacune des tables <nsrer une occurrence dans la table C7289L +upprimer une occurrence de la table C7289L Connectez vous sous WIN !WS avec le compte Utilisateur" et ralisez les oprations suivantes : (pour se connecter avec ce compte dmarrer sa session 4indo)s et ouvrez +,L +erver Management +tudio# 9$$icher le contenu des tables P:;P:<2=9<:2 et C;*:+2 (le rsultat estBil celui attendu C# Connectez vous sous WIN !WS avec le compte utilisateur# et ralisez les oprations suivantes : 9$$icher le contenu des tables Crer une table C7289LD" et insrer ' partir de la table C7289L tous le chevau% ns en &DD" Modi$ier certaines occurrences +upprimer certaines occurrences Connectez vous sous WIN !WS avec le compte utilisateur$ et ralisez les oprations suivantes : <nsrer une occurrence dans la table C7289L 9$$icher le contenu de chacune des tables +upprimer l@occurrence de la table C7289L que vous venez de crer

Connectez vous sous WIN !WS avec le compte utilisateur% et ralisez les oprations suivantes : 9$$icher le contenu de la table P9:=<C<P2: Modi$ier le nom d@un propritaire Donner l@autorisation ' utilisateur& de modi$ier les noms et adresses des propritaires Connectez vous sous WIN !WS avec le compte utilisateur" et ralisez les oprations suivantes : Modi$ier l@adresse d@un propritaire Connectez vous avec votre compte utilisateur et crivez en SQL, l&attri'ution des autorisations suivantes : *tilisateur( peut slectionner les tables C7289L et P:;P:<2=9<:2 modi$ier les noms des chevau% et supprimer les occurrences de la table P9:=<C<P2: (ri)iez en vous connectant avec le compte utilisateur% *ue ces oprations sont possi'les Connectez+vous avec votre compte utilisateur et crivez en SQL, l&ordre permettant d&annuler les autorisations *ue vous venez d&accorder , utilisateur% (ri)iez en vous connectant avec le compte utilisateur% *ue les oprations suivantes ne sont plus possi'les : 9$$icher le contenu des tables C7289L et P:;P:<2=9<:2 modi$ier les noms des chevau% et supprimer les occurrences de la table P9:=<C<P2:

Crer un r-le dont les mem'res sont les utilisateurs" , % et accorder , ce r-le l&autorisation suivante: Possibilit de crer une table

(ri)ier *ue ces utilisateurs peuvent e.cuter un ordre C/0A10 1A2L0

Sauvegarde manuelle ! automati#ue et restauration


Prsentation Il existe deux types de sauvegarde sous SQL Server : La sauvegarde des fichiers de donnes

La sauvegarde des fichiers de log de transaction

Il faut donc savoir quoi correspond chacun de ces fichiers. En faisant trs si ple! le fichier de donnes stoc"e toutes les donnes de la #ase! le fichier de log stoc"e les transactions $oues depuis la dernire vidange de celui%ci. &ous verrons quelle est la co ande de 'ac"up! puis co ent effectuer une sauvegarde avec le client graphique (SS)SE* et enfin co ent planifier une sauvegarde quotidienne. La commande TSQL BACKUP La co ande +SQL ',-./0 per et d1envoyer au oteur SQL Server la de ande de sauvegarde. 2ous trouve3 toute la docu entation ncessaire sur cette co ande dans la docu entation )S4& : BACKUP TSQL -ette co ande de sauvegarde est dpendante du ode de $ournalisation actif sur votre #ase. En effet! les logs de transaction enregistrent toutes les transactions $oues sur votre #ase de donnes! ceci suivant le ode de $ournalisation : -o plet (code 5* : +outes les transactions sont enregistres

6ournalis en #loc (code 7* : &1enregistre pas les insertions en #loc Si ple (code 8* : 0as d1enregistre ent des transactions

2ous trouvere3 une explication des odes de rcupration sur le site )S4& : Modes de rcupration et gestion des journaux de transactions ,insi dans le cas de la rcupration (ou $ournalisation* en ode si ple! vous n1ave3 pas #esoin de faire une sauvegarde du $ournal de transaction! pour les deux autres cas! cette sauvegarde est o#ligatoire pour vider le fichier de $ournal. Si vous ave3 d1ailleurs un pro#l e de croissance exagre de ce fichier de $ournalisation! $e vous invite consulter l1article sur le su$et : MS SQL Server et les pro lmati!ues du journal de transaction 0our savoir dans quelle configuration se trouvent vos #ases de donnes : SQL S"#$"# %&&' ( L)ST"# L"S M*+"S +" #"CUP"#AT)*, +" T*UT"S L"S BAS"S +" +*,,""S +U S"#$"U# )aintenant que nous savons quelles sont les configurations de chaque #ase! nous pouvons voir co ent effectuer une sauvegarde d1une des #ases et de son $ournal sur le disque - du serveur. &ous travaillerons avec la #ase de donnes exe ple de SQL Server 799: : SQL Server %&&' Samples and Sample +ata ases Sauvegarde du -ournal de transaction Si notre #ase de donnes n1est pas en ode si ple! nous devons o#ligatoire ent effectuer une sauvegarde de ce fichier. -ette sauvegarde doit se faire avant celle du fichier de donnes. 0our effectuer une sauvegarde depuis SQL Server! il suffit donc d1utiliser la co ande +SQL ;',-./0;! celle%ci exige une liste ini ale de para tres :
/SE < aster= ',-./0 L>? <,dventure@or"s= +> 4IS. A &1-:B,dventure@or"sCL>?.+D&1 @I+E &>F>D),+! &>I&I+! &,)E A &1,dventure@or"s%6ournal des transactions Sauvegarde1 ?>

&ous pouvons ds lors effectuer une sauvegarde co plte de la #ase de donnes. Sauvegarde du .ic/ier de donnes -ette sauvegarde per et de re onter la #ase de donnes co e elle tait lors de la sauvegarde. -ette tGche est o#ligatoire pour toutes les utilisations de oteur relationnel afin d1viter au axi u la perte de donnes. La co ande est si ilaire la prcdente :
/SE < aster= ',-./0 4,+,',SE <,dventure@or"s= +> 4IS. A &1-:B,dventure@or"sC4,+,S.',.1 @I+E &>F>D),+! &>I&I+! &,)E A &1,dventure@or"s%-o plte 'ase de donnes Sauvegarde1 ?>

Les extensions ',. et +D& ne sont pas o#ligatoires! ce sont $uste des nor es d1usage! vous pouve3 utiliser toute autre extension. )aintenant que nous savons co ent effectuer un #ac"up d1une #ase de donnes en +SQL! nous voulons savoir co ent effectuer un #ac"up depuis SQL Server Management Studio "xpress! puis surtout co ent ettre en place une sauvegarde auto atique sur notre serveur. Sauvegarde avec SSMS "xpress &ous allons aintenant voir co ent effectuer une sauvegarde un o ent donn depuis SQL Server Management Studio "xpress. -et outil tant l1outil de gestion et de requHte graphique des oteurs SQL Server 799: Express Edition. &ous travaillerons avec la configuration que nous utilisons depuis plusieurs articles co prenant : @indoIs 7998 Server

SQL Server 799: Express Edition @ith ,dvanced Services @indoIs Share0oint Services 27 @indoIs Share0oint Services 27 SQL Server 799: )anage ent Studio Express Edition La #ase de donnes IISL>?

4epuis le panneau ;Explorateur d1o#$ets;! il faut cliquer avec le #outon droit sur la #ase puis +Gches et Sauvegarder

. >n atteint alors un cran que l1on doit para trer! nous slectionnons dans la liste une sauvegarde co plte! le no que l1on veut donner cette sauvegarde! le che in d1accs au fichier de sauvegarde

(-:BIISL>?C4,+,S.',.*.

&ous devons a$outer une vrification de la sauvegarde (dans l1cran des options*.

Enfin nous cliquons sur >. afin de faire cette sauvegarde. Attention 0 Il faut #ien sur que le co pte d1excution du oteur SQL Server ait les droits d1criture sur dans le rpertoire dfini.

Mise en place d1une sauvegarde automati!ue La ise en place d1une sauvegarde auto atique i plique le passage par un agent de planification. -ontraire ent )S4E ou les versions payantes de SQL Server 799:! SQL Server 799: Express Edition ne possde pas le odule SQL ,gent qui est l1agent de planification de SQL Server. La solution est donc d1utiliser l1agent de planification de @indoIs (+as" Scheduler*. En effet! celui%ci per et d1excuter des taches (,pplications! fichier 'atchs! ...* des heures (ou dans des cas* #ien spcifies. Il nous faut donc crer un ',+-E qui va effectuer une sauvegarde spcifique. Le #atch devra lancer l1outil en ligne de co ande d1excution de script de SQL Server 799: : Microso.t SQLCM+ Il s1agit du re plaJant de l1ancien outil : Microso.t *SQL Si nous reprenons notre exe ple de sauvegarde de la #ase de donnes ,dventure@or"s! voici donc le fichier ;Sauvegarde,4@.#at; qu1il faut crer (sur une seule ligne* :
sqlc d %S )>&SED2E/DBSQLEK0DESS %/ sa %0 )ot4e0asse %Q ;',-./0 4,+,',SE <,dventure@or"s= +> 4IS. A &1-:B,dventure@or"sC4,+,S.',.1 @I+E &>F>D),+! &>I&I+! &,)E A &1,dventure@or"s%-o plte 'ase de donnes Sauvegarde1;

2ous aure3 alors le rsultat suivant en excutant la co

ande :

Il ne reste donc plus qu1 crer le fichier ',+-E avec cette co ande et de planifier ce ',+-E avec le planificateur de tGches de @indoIs. 2ous le trouvere3 en allant dans : 0anneau de -onfiguration L +Gches planifies , ce stade! nous savons co ent excuter une sauvegarde spcifique sur une #ase de donnes voulue. En revanche! il est #eaucoup plus intressant de faire la sauvegarde de l1ense #le des #ases de donnes h#erges sur notre achine SQL Server 799: Express Edition. Mise en place d1une sauvegarde de toutes les ases de donnes 0our effectuer ce travail! nous allons utiliser un script is disposition de tous : SQL S"#$"# ( P#*C2+U#" ST*CK2" 3A)SA,T U, BACKUP +" T*UT"S L"S BAS"S "T -*U#,AU4 +" T#A,SACT)*, AUT*MAT)QU"M",T -e script per et de crer une 0rocdure Stoc"e afin d1effectuer la sauvegarde de l1ense #le des #ases de donnes et $ournaux de transaction! puis de co pacter ces fichiers avec l1outil de )icrosoft )a"e-a#. ,insi! il faut d$ co encer par odifier un para tre de notre serveur SQL Express afin d1autoriser l1excution des co andes externes depuis le oteur SQL Server. -eci se fait en allant dans : 4 arrer L 0rogra es L )icrosoft SQL Server 799: L >utils de configuration L -onfiguration de la surface d1exposition SQL Server Si vous souhaite3 plus d1infor ations! vous trouvere3 l1explication sur la configuration : Les *utils de Con.iguration de SQL Server %&&' "xpress "dition Il faut alors cliquer sur ;-onfiguration de la surface d1exposition pour les fonctionnalits; afin d1activer la possi#ilit de lancer des co andes 4P5CM+S6"LL.

>n valide par >.. >n peut donc stoc"e :

aintenant excuter le script de cration de notre procdure

aster.d#o.S0CSyste CSauvegardes+otales

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% -DE,+E 0D>-E4/DE d#o.S0CSyste CSauvegardes+otales MN 0er et de sauvegarder toutes les #ases et logs et de les co presser (-,'* de toutes les #ases du serveur SQL Server NM OSauvegardeLogs ,S int! OSauvegarde'ases ,S int! ODepertoireSauvegarde ,S 2ar-har(P999* ,S %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 4claration des 2aria#les 4E-L,DE Ona e sysna e 4E-L,DE Ostatus int 4E-L,DE O+est,uto+runcate #it 4E-L,DE OLaDequette varchar(P999* 4E-L,DE O4ate6our varchar(79* 4E-L,DE ODepertoire varchar(P999* 4E-L,DE ODepertoire4efaut varchar(599* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Initialisation des 2aria#les dclares SE+ O4ate6our A DE0L,-E(->&2ED+(2,D-E,D! ?et4ate(*! 597*! 1.1! 1C1* SE+ ODepertoire4efaut A 1-:B',-./0',SESB1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0DI&+ 1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1 0DI&+ 1 4,+E 4E L, S,/2E?,D4E L,&-EE : 1Q O4ate6our 0DI&+ 1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 2rification du para tre du rpertoire des 'ases et Logs IF D+DI)(ODepertoireSauvegarde* RA 11 'E?I& 0DI&+ 1Dpertoire Fourni la S01 IF DI?E+(ODepertoireSauvegarde! 5* RA 1B1

SE+ ODepertoire A ODepertoireSauvegarde Q 1B1 ELSE SE+ ODepertoire A ODepertoireSauvegarde E&4 ELSE 'E?I& 0DI&+ 1Dpertoire &on Fourni la S0 % -ration du rpertoire par dfaut : 1Q ODepertoire4efaut SE+ OLaDequette A 1 aster.d#o.xpCc dshell 11).4ID 1Q ODepertoire4efaut Q111! &>C>/+0/+ 1 0DI&+ 1Dequette : 1Q OLaDequette EKE-/+E (OLaDequette* SE+ ODepertoire A ODepertoire4efaut E&4 0DI&+ 1Dpertoire de Sauvegarde des 'ases et Logs : 1Q ODepertoire %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 4claration du -urseur sur la liste des 'ases de donnes 4E-L,DE +ES+-/DSE/D -/DS>D F>D SELE-+ aster.d#o.sysdata#ases.na e! aster.d#o.sysdata#ases.status FD>) aster.d#o.sysdata#ases %% @EEDE ( aster.d#o.sysdata#ases.status S P*RA P %% @EEDE aster.d#o.sysdata#ases.na e &>+ I& (1te pd#1! 1 odel1! 1pu#s1* %% >uverture du -urseur >0E& +ES+-/DSE/D FE+-E &EK+ FD>) +ES+-/DSE/D I&+> Ona e! Ostatus %% 'ouclage sur le curseur dfini @EILE OOFE+-ECS+,+/S A 9 'E?I& %% 2rifie que la #ase de transaction n1est pas en ode si ple (donc pas de log sauver* SE+ O+est,uto+runcate A Ostatus S P MN %% Suivi des valeurs pour tests 0DI&+ 1',SE : 1Q Ona e 0DI&+ 1+ES+ +D/&-,+E : 1Q -,S+(O+est,uto+runcate ,S 2,D-E,D* 0DI&+ 12aleur Status : 1Q -,S+(Ostatus ,S 2,D-E,D* NM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 2rification de la sauvegarde des Logs de 'ases de ande IF (OSauvegardeLogs A 5* ,&4 (O+est,uto+runcate A 9* 'E?I& 0DI&+ 11 0DI&+ 1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1 0DI&+ 1',-./0 4/ L>? 4E L, ',SE 4E 4>&&EES : 1Q Ona e %%%%%%%%%%%%%%%%% L>?S %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Sauvegarde du Log de transaction courant dans le -urseur SE+ OLaDequette A 1/SE ;1Q Ona e Q1; EKE- spCaddu pdevice 114IS.11! ;1Q Ona e Q1Log;! ;1Q ODepertoire Q Ona e Q1Log.',.; ',-./0 L>? ;1Q Ona e Q1; +> ;1Q Ona e Q1Log;1 0DI&+ 1Dequette : 1Q OLaDequette EKE-/+E (OLaDequette* %% Suppression du device dclar dans la ta#le )aster.Sysdevices SE+ OLaDequette A 1/SE ;1Q Ona e Q1; EKE- spCdropdevice ;1Q Ona e Q1Log; 1 0DI&+ 1Dequette : 1Q OLaDequette EKE-/+E (OLaDequette*

%% ,rchivage du fichier ',. avec le for at @indoIs -,' SE+ OLaDequette A 1 aster.d#o.xpCc dshell 1Q111-:B@I&4>@SBsyste 87B a"eca# M2<5= ;1Q ODepertoire Q Ona e Q1Log.',.; ;1Q ODepertoire Q Ona e Q1LogC1Q O4ate6our Q1.ca#;111Q1! &>C>/+0/+ 1 0DI&+ 1Dequette : 1Q OLaDequette EKE-/+E (OLaDequette* %% Suppression du fichier ',. SE+ OLaDequette A 1 aster.d#o.xpCc dshell 114EL ;1Q ODepertoire Q Ona e Q1Log.',.;11! &>C>/+0/+ 1 0DI&+ 1Dequette : 1Q OLaDequette EKE-/+E (OLaDequette* E&4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 2rification de la sauvegarde des 'ases de donnes de ande IF OSauvegarde'ases A 5 'E?I& 0DI&+ 11 0DI&+ 1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1 0DI&+ 1',-./0 4E L, ',SE 4E 4>&&EES : 1Q Ona e %%%%%%%%%%%%%%%%% ',SES %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Sauvegarde de la #ase courante dans le -urseur SE+ OLaDequette A 1/SE ;1Q Ona e Q1; ',-./0 4,+,',SE ;1Q Ona e Q1; +> 4IS. A111Q ODepertoire Q Ona e Q1.',.111 0DI&+ 1Dequette : 1Q OLaDequette EKE-/+E (OLaDequette* %% ,rchivage du fichier ',. avec le for at @indoIs -,' SE+ OLaDequette A 1 aster.d#o.xpCc dshell 1Q111-:B@I&4>@SBsyste 87B a"eca# M2<5= ;1Q ODepertoire Q Ona e Q1.',.; ;1Q ODepertoire Q Ona e Q1C1Q O4ate6our Q1.ca#;111Q1! &>C>/+0/+ 1 0DI&+ 1Dequette : 1Q OLaDequette EKE-/+E (OLaDequette* %% Suppression du fichier ',. SE+ OLaDequette A 1 aster.d#o.xpCc dshell 114EL ;1Q ODepertoire Q Ona e Q1.',.;11! &>C>/+0/+ 1 0DI&+ 1Dequette : 1Q OLaDequette EKE-/+E (OLaDequette* E&4 0DI&+ 11 0DI&+ 1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% ,vance le curseur d1un -ran FE+-E &EK+ FD>) +ES+-/DSE/D I&+> Ona e! Ostatus E&4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Fer eture du -urseur -L>SE +ES+-/DSE/D %% Li#ration de la oire prise par le -urseur 4E,LL>-,+E +ES+-/DSE/D %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 2ous pouve3 utiliser cette S0 co e suit :

%% EKE- d#o.S0CSyste CSauvegardes+otales 5! 9! 1-:B)on'ac/p4e'asesB1 L il archivera les Logs de +ransaction sans les #ases %% EKE- d#o.S0CSyste CSauvegardes+otales 9! 5! 1-:B)on'ac/p4e'asesB1 L il archivera les #ases sans les Logs de +ransaction %% EKE- d#o.S0CSyste CSauvegardes+otales 5! 5! 11 L il archivera les #ases et les Logs de +ransaction dans le rpertoire par dfaut 1-:B',-./0',SESB1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -o e expliqu sur le site! nous avons plusieurs ode d1excution de ce script! nous prendrons celui qui effectue le #ac"up des logs de transaction et le #ac"up des fichiers de donnes. &ous sauvegarderons tous ces fichiers dans le rpertoire cr cet effet ;-:B'ac"upExpressB;. -ela se traduit donc par la co ande suivante : EKE- aster.d#o.S0CSyste CSauvegardes+otales 5! 5! 1-:B'ac"upExpressB1 /ne fois cette co ande excute! nous trouvons un ense #le de fichiers -,' au for at : &o 4'C4ate.-,' : pour les fichiers de donnes

&o

4'LogC4ate.-,' : 0our les fichiers de log

&ous pouvons aintenant crer notre fichier ',+-E qui va si ple ent effectuer l1excution de cette procdure stoc"e avec les para tres prcdents.
sqlc d %S )>&SED2E/DBSQLEK0DESS %/ sa %0 )ot4e0asse %Q ;EKE- aster.d#o.S0CSyste CSauvegardes+otales 5! 5! 1-:B'ac"upExpressB1;

&ous pouvons donc aintenant planifier cette excution auto atique dans le planificateur des taches de @indoIs.

Mise en miroir de B
Le principe du iroir! consiste capturer au fil de l1eau les transactions se produisant sur une #ase! afin de les reproduire sur une #ase dite iroir sur un serveur distant. Le serveur source envoi sur couche http crypte les donnes des transactions reproduire sur le serveur ci#le. /n serveur t oin (SQL* peut Htre is en place afin de per ettre le #ascule ent auto atique des applications. -e #ascule ent auto atique ne peut Htre effectif dans les applications que pour celles utilisant le pilote SQL &-LI (&ative -lient*! auquel cas vous deve3 indiquer dans la chaTne de connexion le no du serveur partenaire (F,IL>2ED 0,D+&EDA...*. &ote3 cependant que ce para tre n1est pas ncessaire si votre application utilise le fra eIor" .net en accs SQL &-LI car c1est la #i#liothque cliente qui rapatrie toute seule cette infor ation des ta#les syst es en se connectant au serveur source. Il y a diffrent odes de gestion du iroir :

haute protection : suppose un irroring asynchrone avec #ascule ent auto atique (ncessite un serveur t oin* haute perfor ances : irroring asynchrone #ascule ent anuel (sans serveur t oin* haute scurit : irroring synchrone #ascule ent anuel (sans serveur t oin*

0ar nature :

il ne peut y avoir qu1un seul iroir partant d1une #ase. Le iroir d1une #ase tant une #ase passive! vous ne pouve3 en aucun cas l1utiliser des fins de production! ni H e de sources co e sauvegarde ou iroir d1une autre #ase en cascade! car la #ase est en per anence en ode restauration. -ependant vous pouve3 effectuer un snapshot de cette #ase afin de produire une #ase ayant les donnes un instant + et en lecture seule! par exe ple pour de la consultation (reporting ou source d1ali entation d1un dataIarehouse*. Le iroir est sy trique! tant est si #ien qu1en cas de #ascule ent auto atique! il n1y a rien faire pour que la #ase source devienne ci#le. En effet en cas de #ascule ent! les #ases de donnes changent leurs rUles sous le contrUle du t oin. La #ase ci#le doit Htre en ode de $ournalisation F/LL pour pouvoir Htre irrore. En cas de change ent du DE->2EDV )>4EL co e en cas d1arrHt du iroir! le syst e est dfinitive ent #ris dans le sens ou l1envoi des transactions repose sur le chGinage de ces dernires l1aide du LS& (Log Sequence &u #er*.

Le serveur t oin peut Htre un vulgaire 0- avec K0 et une dition Express de SQL Server. Il n1a pas non plus #esoin de ressources particulire car son rUle est de scruter rgulire ent quels sont les serveurs accessi#les. 2ous pouve3 donc utiliser un serveur quelconque d$ productif si votre organisation co pte de no #reuses achines. Soit SD2CS>/D-E! SD2C-I'LE et SD2C+E)>I& un serveur source! un serveur ci#le et le serveur t oin pour le irroring. Soit 4'C+>C)IDD>D la #ase de donnes irorer Le script suivant propose en 5W tapes et 8X co andes +ransact SQL de faire cette anYuvre R

1) 78 Sauvegarde de la ase 9 mirorer @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ de ui1 le 1erAeur 1&ur2e SRVBSOURCE @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ USE 'a1ter ;O (AC5UP =ATA(ASE =(BTOBMIRROR TO =IS5 C N'=DE=((a2Fu E=(BTOBMIRROR(a2Fu GbaF' HIT. NAME C N'Iull =ataba1e (a2Fu ', INIT, STATS C 10 ;O (AC5UP LO; =(BTOBMIRROR TO =IS5 C N'=DE=((a2Fu E=(BTOBMIRROR(a2Fu L&)Gtr+' HIT. NAME C N'Tra+1a2ti&+ L&) (a2Fu ', STATS C 10

;O
%8 restauration de la ase 9 mororer avec l1option :)T6 ,*#"C*$"#;

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ de ui1 le 1erAeur 1&ur2e SRVBCI(LE @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ RESTORE =ATA(ASE =(BTOBMIRROR IROM =IS5 C N'=DE=((a2Fu E=(BTOBMIRROR(a2Fu GbaF' HIT. NORECOVER/ ;O RESTORE LO; =(BTOBMIRROR IROM =IS5 C N'=DE=((a2Fu E=(BTOBMIRROR(a2Fu L&)Gtr+' HIT. NORECOVER/ ;O
88 validation de la visi ilit rseau des serveurs Faites un ping crois des serveurs. , dfaut dite3 le fichiers hosts (situ dans Zsyste rootZBsyste 87BdriversBetcB* pour faire la apping no Madresse I0.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ de ui1 le 1erAeur 1&ur2e SRVBSOURCE @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


<8 Cration d1une cle. de cr=ptage pour la ase de donnes master

USE 'a1ter ;O CREATE MASTER 5E/ ENCR/PTION (/ PASSHOR= C 'M&+ '&t de ;O

a11e'J

'8 Cration du certi.icat !ui sera utilis pour cr=pter les donnes du .lux de mirroir sur le point de terminaison /ttp source

CREATE CERTIIICATE CRTBMIRRORBSOURCE HIT. SU(*ECT C '2erti,i2at CRTBMIRRORBSOURCE =(BMIRROR', STARTB=ATE C 'AAAAMM**'J J ;O

&ur la 'i1e e+ 'ir&ir de la ba1e

>8 Cration du point de terminaison /ttp sur le serveur source en utilisant le certi.icat pour l1aut/enti.ication

CREATE EN=POINT E=PBMIRROR STATE C STARTE= AS TCP (LISTENERBPORT C 90%%, LISTENERBIP C ALL$ IOR =ATA(ASEBMIRRORIN; (AUT.ENTICATION C CERTIIICATE CRTBMIRRORBSOURCE, ENCR/PTION C RE:UIRE= AL;ORIT.M AES, ROLE C ALL$J ;O @@ P&ur 2&+trKle D SELECT * IROM 101Ge+d &i+t1J SELECT * IROM 101G3tt Be+d &i+t1J
?8 Sauvegarde du certi.icat sous .orme de .ic/ier

(AC5UP CERTIIICATE CRTBMIRRORBSOURCE TO IILE C 'CDECRTBMIRRORBSOURCEB(AC5UPG2er'J ;O


@8 CopieA le certi.icat sur les serveurs tmoins et ci le 0ar exe ple dans un rpertoire de no -:B irrorCo#$ectsB

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ de ui1 le 1erAeur 2ible SRVBCI(LE @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


B8 installation sur serveur ci le 9.1) Cration d'une clef de cryptage pour la base de donnes master

USE 'a1ter ;O CREATE MASTER 5E/ ENCR/PTION (/ PASSHOR= C ''&+ '&t de ;O

a11e'J

9.2) Cration du certificat qui sera utilis pour crypter les donnes du flux de mirroir sur le point de terminaison http cible

CREATE CERTIIICATE CRTBMIRRORBCI(LE HIT. SU(*ECT C '2erti,i2at CRTBMIRRORBCI(LE =(BMIRROR', STARTB=ATE C 'AAAAMM**'J J ;O

&ur la 'i1e e+ 'ir&ir de la ba1e

9.3) Cration du point de terminaison http sur le ser eur cible en utilisant le certificat pour l'authentification

CREATE EN=POINT E=PBMIRROR STATE C STARTE= AS TCP(LISTENERBPORT C 90%%, LISTENERBIP C ALL$ IOR =ATA(ASEBMIRRORIN; (AUT.ENTICATION C CERTIIICATE CRTBMIRRORBCI(LE, ENCR/PTION C RE:UIRE= AL;ORIT.M AES, ROLE C ALL$J ;O
9.!) "au egarde du certificat sous forme de fichier

(AC5UP CERTIIICATE CRTBMIRRORBCI(LE TO IILE C 'CDECRTBMIRRORBCI(LEB(AC5UPG2er'J ;O


9.#) Copie$ le certificat sur les ser eurs tmoins et source 0ar exe ple dans un rpertoire de no -:B irrorCo#$ectsB

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ de ui1 le 1erAeur t<'&i+ SRVBTEMOIN @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


7&8 installation sur serveur tmoin 1%.1) Cration d'une clef de cryptage pour la base de donnes master

USE 'a1terJ ;O CREATE MASTER 5E/ ENCR/PTION (/ PASSHOR= C ''&+ '&t de

a11e'J

;O
1%.2) Cration du certificat qui sera utilis pour crypter les donnes du flux de mirroir sur le point de terminaison http tmoin

CREATE CERTIIICATE CRTBMIRRORBTEMOIN HIT. SU(*ECT C '2erti,i2at CRTBMIRRORBTEMOIN =(BMIRROR' STARTB=ATE C 'AAAAMM**'J ;O

&ur la 'i1e e+ 'ir&ir de la ba1e

1%.3) Cration du point de terminaison http sur le ser eur cible en utilisant le certificat pour l'authentification

CREATE EN=POINT E=PBMIRROR STATE C STARTE= AS TCP(LISTENERBPORT C 90%%, LISTENERBIP C ALL$ IOR =ATA(ASEBMIRRORIN; (AUT.ENTICATION C CERTIIICATE CRTBMIRRORBTEMOIN, ENCR/PTION C RE:UIRE= AL;ORIT.M AES, ROLE C ALL$J ;O
1%.!) "au egarde du certificat sous forme de fichier

(AC5UP CERTIIICATE CRTBMIRRORBTEMOIN TO IILE C 'CDECRTBMIRRORBTEMOINB(AC5UPG2er'J ;O


1%.#) Copie$ le certificat sur les ser eurs cible et source 0ar exe ple dans un rpertoire de no -:B irrorCo#$ectsB

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ de ui1 le 1erAeur 1&ur2e SRVBSOURCE @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


778 MetteA en place la scurit cCt source 11.1) cre$ un compte de connexion pour la connexion au ser eur dans la cadre du mirroring

USE 'a1terJ ;O CREATE LO;IN CLNBMIRROR HIT. PASSHOR= C ''&+ a11M&rd N '&i'J ;O
11.2) cre$ un utilisateur associ & ce compte de connexion

CREATE USER UBMIRROR IOR LO;IN CLNBMIRRORJ ;O


11.3) 'ssocie$ les certificats externes & cet utilisateur ( 41a#ord avec le certificat cr pour le serveur ci#le :

CREATE CERTIIICATE CRTBMIRRORBCI(LE AUT.ORIOATION UBMIRROR IROM IILE C 'CDECRTBMIRRORBCI(LEB(AC5UPG2er' ;O


Ensuite avec le certificat cr pour le serveur t oin :

CREATE CERTIIICATE CRTBMIRRORBTEMOIN AUT.ORIOATION UBMIRROR IROM IILE C 'CDECRTBMIRRORBTEMOINB(AC5UPG2er' ;O


11.!) )onne$ les pri il*ges de connexion au point de terminaison http de mirroring & ce compte de connexion

;RANT CONNECT ON EN=POINTDDE=PBMIRROR TO CLNBMIRRORJ ;O @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ de ui1 le 1erAeur 2ible SRVBCI(LE @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
7%8 MetteA en place la scurit cCt ci le 12.1) cre$ un compte de connexion pour la connexion au ser eur dans la cadre du mirroring

USE 'a1terJ ;O CREATE LO;IN CLNBMIRROR HIT. PASSHOR= C ''&+ a11M&rd N '&i'J ;O
12.2) cre$ un utilisateur associ & ce compte de connexion

CREATE USER UBMIRROR IOR LO;IN CLNBMIRRORJ ;O


12.3) 'ssocie$ les certificats externes & cet utilisateur ( 41a#ord avec le certificat cr pour le serveur source :

CREATE CERTIIICATE CRTBMIRRORBSOURCE AUT.ORIOATION UBMIRROR IROM IILE C 'CDECRTBMIRRORBSOURCEB(AC5UPG2er' ;O


Ensuite avec le certificat cr pour le serveur t oin :

CREATE CERTIIICATE CRTBMIRRORBTEMOIN AUT.ORIOATION UBMIRROR IROM IILE C 'CDECRTBMIRRORBTEMOINB(AC5UPG2er' ;O


12.!) )onne$ les pri il*ges de connexion au point de terminaison http de mirroring & ce compte de connexion

;RANT CONNECT ON EN=POINTDDE=PBMIRROR TO CLNBMIRRORJ ;O @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ de ui1 le 1erAeur t<'&i+ SRVBTEMOIN @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
7D8 MetteA en place la scurit cCt tmoin 13.1) cre$ un compte de connexion pour la connexion au ser eur dans la cadre du mirroring

USE 'a1terJ ;O CREATE LO;IN CLNBMIRROR HIT. PASSHOR= C ''&+ a11M&rd N '&i'J ;O
13.2) cre$ un utilisateur associ & ce compte de connexion

CREATE USER UBMIRROR IOR LO;IN CLNBMIRRORJ ;O


13.3) 'ssocie$ les certificats externes & cet utilisateur ( 41a#ord avec le certificat cr pour le serveur source :

CREATE CERTIIICATE CRTBMIRRORBSOURCE AUT.ORIOATION UBMIRROR IROM IILE C 'CDECRTBMIRRORBSOURCEB(AC5UPG2er' ;O


Ensuite avec le certificat cr pour le serveur t oin :

CREATE CERTIIICATE CRTBMIRRORBCI(LE AUT.ORIOATION UBMIRROR IROM IILE C 'CDECRTBMIRRORBCI(LEB(AC5UPG2er' ;O


13.!) )onne$ les pri il*ges de connexion au point de terminaison http de mirroring & ce compte de connexion

;RANT CONNECT ON EN=POINTDDE=PBMIRROR TO CLNBMIRRORJ ;O @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ de ui1 le 1erAeur 2ible SRVBCI(LE @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
7<8 PrpareA le serveur ci le pour le dmarrage de la session de miroir Indiquer la source sur la ci#le

USE 'a1terJ ;O ALTER =ATA(ASE =(BTOBMIRROR SET PARTNER C 'TCPD//SRVBSOURCED90%%'J ;O @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ de ui1 le 1erAeur 1&ur2e SRVBSOURCE @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
7'8 PrpareA le serveur source pour le dmarrage de la session de miroir Indiquer la ci#le sur la source :

USE 'a1ter ;O ALTER =ATA(ASE =(BTOBMIRROR SET PARTNER C 'TCPD//SRVBCI(LED90%%'J ;O


Indiquer le t oin sur la source

ALTER =ATA(ASE =(BTOBMIRROR SET PARTNER C 'TCPD//SRVBTEMOIND90%%'J ;O


-eci a d arr la session de 7>8 contrCleA la session 4ans SS)S! sur la #ase ci#le! clique3 droit. 4ans le enu contextuel choissise3 ;tGchesMLancer le ise en 2ous pouve3 aussi voir ce qui se passe l1aide de la co ande : oniteur de iroir...; irroring

SELECT * IROM 101Gdataba1eB'irr&ri+) H.ERE databa1eBid C =(BI=('=(BTOBMIRROR'$


,*T"S Si vous voule3 co ande : 0 odifier le ti e out de #ascule ent! vous pouve3 faire cela sur le serveur source l1aide de la

USE 'a1terJ ;O ALTER =ATA(ASE =(BTOBMIRROR SET PARTNER TIMEOUT "0J


Le ini u tant : seconde! ais $e ne vous conseille pas d1aller si #as! car le #ascule ent risque de se faire en cas de icro coupure ou de sIitchs enco #rs. 0our a part $e le fixe en gnral 89 secondes. Si vous voule3 un #ascule ent auto atique! assure3 vous de anire i prative que le rseau entre les serveur est rapide et fia#le. 4die3 si #esoin est une fi#re optique pour ce faire! et utilise3 les para tres d1ad inistration de vos sIitchs afin de dfinir un priorit entre le nYud source et le nYud ci#le. Si tel n1tais pas le cas! alors opte3 pour le ode asynchrone sinon! en cas de retard pour l1acquitte ent des transactions envoyes vers la ci#le! cela va faire grossir le $ournal de transaction de la #ase source sans poss#ilit de le rduire! et plus ce $ournal grossit! plus il est illusoire de vouloir rattraper le retard R Si vous voule3 vous placer en ode haute scurit! vous deve3 le prciser l1aide de la co ande :

USE 'a1terJ ;O ALTER =ATA(ASE =(BTOBMIRROR SET PARTNER SAIET/ OIIJ


4ans ce cas le t oin ne sera plus utilis. 2ous ave3 donc intrHt le dsactiver co e ceci :

USE 'a1terJ ;O ALTER =ATA(ASE =(BTOBMIRROR SET HITNESS OIIJ


Si vous voule3 revenir en ode haute protection! co ence3 par indiquer quel est le t oin :

USE 'a1terJ ;O ALTER =ATA(ASE =(BTOBMIRROR SET HITNESS OIIJ


0uis revene3 au au ode S,FE+V F/LL :

USE 'a1terJ ;O ALTER =ATA(ASE =(BTOBMIRROR SET PARTNER SAIET/ IULLJ


0our forcer la ci#le devenir la source en cas de suspension de service du iroir! lance3 la co ande :

USE 'a1terJ ;O ALTER =ATA(ASE =(BTOBMIRROR SET PARTNER RESUMEJ


ATT",T)*, : La ise en iroir d1une #ase de donnes ne reproduit que les donnes de la #ase. 2ous pouve3 avoir #esoin d1autres infor ations sur le serveur ci#le en cas de #ascule ent :

Les co ptes de connexion Les l ents de l1,gent SQL Server (travaux! alertes et oprateurs*

Les paquetages SSIS voire 4+S Les serveurs lis Les units de sauvegarde (devices* Les plan de aintenance

La configuration de 4ata#ase )ail (ou pire de SQL )ail*

2ous pouve3 utiliser des dclencheurs 44L niveau serveur et l1aide d1un serveur li reproduire i diate ent sur le serveur ci#le les co andes SQL dcoulant de la ise en place de ces o#$ets. )ais attention. ,fin que cela ne fasse pas ping%pong! $e vous conseille de tester l1tat de iroir de votre serveur pour la #ase irore! avant de lancer la reproduction de cette co ande :

SELECT 'irr&ri+)B1tate @@P d&it -tre % &u 4 (A&ir NULL$ IROM 101Gdataba1eB'irr&ri+) H.ERE databa1eBid C =(BI=('=(BTOBMIRROR'$
Enfin! sache3 que les transactions distri#ues ne sont pas supportes dans le cas de la AU+)T"# le mirroir Si l1envie vous en prend! ne serait%ce que pour analyser la charge de vos tuyaux! vous pouve3 utiliser le oniteur de perfor ances (perf on.exe* et scruter les co pteurs affrent l1entre )SSQL<[instance= ata#ase )irroring. ise en iroir.

)ise en

iroir via l\interface graphique

+i vous obtenez le message d@erreur suivant :

9utorisez les connections distantes sur le serveur miroir en $aisant :


Activation des connexions 9 distance pour SQL Server %&&' "xpress ou SQL Server %&&' +eveloper "dition
2ous deve3 activer les connexions distance pour chaque instance de SQL Server 799: laquelle vous voule3 vous connecter partir d1un ordinateur distant. 0our ce faire! procde3 co e suit : 5. -lique3 sur +marrer! pointe3 sur Programmes! sur Microso.t SQL Server %&&'! sur*utils de con.iguration! puis clique3 sur Con.iguration de la sur.ace d1exposition SQL Server. 4ans la page Con.iguration de la sur.ace d1exposition SQL Server! clique3 surCon.iguration de la sur.ace d1exposition pour les services et les connexions .

50 60

4ans la page Con.iguration de la sur.ace d1exposition pour les services et les connexions ! dveloppe3 Moteur de

ase

de donnes! clique3 sur Connexions 9 distance! sur Connexions locales et distantes! slectionne3 le protocole appropri afin d1activer votre environne ent! puis clique3 sur Appli!uer. #emar!ue -lique3 sur *K lorsque le essage suivant s1affiche :

Les odifications apportes aux para tres des connexions ne prendront effet que lors du red arrage du service du de #ase de donnes. X.

oteur

4ans la page Con.iguration de la sur.ace d1exposition pour les services et les connexions ! dveloppe3 Moteur de ase de donnes! clique3 sur Connexions 9 distance! sur Connexions locales et distantes! slectionne3 le protocole appropri afin d1activer votre environne ent! puis clique3 sur Appli!uer.

+i vous avez l@erreur

Connectez vous en tApe d@authenti$ication sql server et utilisez le compte sa (au besoin modi$iez son mot de passe#

+i vous utilisez un troisiEme serveur tmoin con$igurezBle ensuite0 F

Lors du clic sur G terminer H si vous avez l@erreur :

9rr>tez le service +,L +erver depuis l@inter$ace +,L +erver Management +tudio (clic droit sur le serveur arreter# ;uvrez une $en>tre de commande et tapez l@instruction suivante : NET START MSSQLSERVER /T1400 2%plications : http:--social0msdn0microso$t0com-Iorums-enB*+-sqldatabasemirroring-thread-JD6K&e"&Be5bJB(ca6BJ&D5B c6d(6L6&a5a5 +i vous avez l@erreur :

ATT",T)*, :

La ise en iroir d1une #ase de donnes ne reproduit que les donnes de la #ase. 2ous pouve3 avoir #esoin d1autres infor ations sur le serveur ci#le en cas de #ascule ent : Les co ptes de connexion Les l ents de l1,gent SQL Server (travaux! alertes et oprateurs* Les paquetages SSIS voire 4+S Les serveurs lis Les units de sauvegarde (devices* Les plan de aintenance

La configuration de 4ata#ase )ail (ou pire de SQL )ail*

2ous pouve3 utiliser des dclencheurs 44L niveau serveur et l1aide d1un serveur li reproduire i diate ent sur le serveur ci#le les co andes SQL dcoulant de la ise en place de ces o#$ets. )ais attention. ,fin que cela ne fasse pas ping%pong! $e vous conseille de tester l1tat de iroir de votre serveur pour la #ase irore! avant de lancer la reproduction de cette co ande : SELECT 'irr&ri+)B1tate @@P d&it -tre % &u 4 (A&ir NULL$ IROM 101Gdataba1eB'irr&ri+) H.ERE databa1eBid C =(BI=('=(BTOBMIRROR'$ Enfin! sache3 que les transactions distri#ues ne sont pas supportes dans le cas de la ise en iroir.

$nne%e & $utre tec'ni#ue de con(iguration du mirroring

Exem le ! confi"uration de la mise en miroir d'une #ase de donnes $ l'aide de certificats %&ransact'S()*
Confi"uration des connexions sortantes

Pour configurer Host_A pour les connexions sortantes


&0 Dans la base de donnes master crez la cl principale de base de donnes si ncessaire0

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1_Strong_Password !'" #O


50 9ctivez un certi$icat pour cette instance de serveur0

$SE %ast&r" CREATE CERTI'ICATE (OST_A_)&rt

WIT( S$B*ECT = '(OST_A )&rt+,+)at&', STARTB=ATE C '%7/11/%010', ELPIR/B=ATE C '%7/11/%01%'J


#O
60 Crez un point de terminaison de mise en miroir pour l1instance de serveur ' l1aide du certi$icat0

CREATE ENDPOINT End-o+nt_M+rror+ng STATE = STARTED AS TCP . /ISTENER_PORT=0123 4 /ISTENER_IP = A// 5 'OR DATABASE_MIRRORIN# . A$T(ENTICATION = CERTI'ICATE (OST_A_)&rt 4 ENCRYPTION = RE6$IRED A/#ORIT(M AES 4 RO/E = A// 5" #O
(0 +auvegardez le certi$icat 7;+=_9 et copiezBle sur l1autre sAstEme 7;+=_M0

BACK$P CERTI'ICATE (OST_A_)&rt TO 'I/E = 'C78(OST_A_)&rt9)&r'" #O


!0 9u moAen d1une mthode scurise de copie quelconque copiez C:N7;+=_9_cert0cer sur 7;+=_M0

Pour configurer Host_B pour les connexions sortantes


&0 Dans la base de donnes master crez la cl principale de base de donnes si ncessaire0

$SE %ast&r" CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_:2!'" #O


50 9ctivez un certi$icat sur l1instance de serveur 7;+=_M0

CREATE CERTI'ICATE (OST_B_)&rt STARTB=ATE C '%7/11/%010', ELPIR/B=ATE C '%7/11/%01%'J #O


60 Crez un point de terminaison de mise en miroir pour l1instance de serveur sur 7;+=_M0

WIT( S$B*ECT = '(OST_B )&rt+,+)at& ,or data;as& %+rror+ng',

CREATE ENDPOINT End-o+nt_M+rror+ng STATE = STARTED AS TCP . /ISTENER_PORT=0123

4 /ISTENER_IP = A// 5 'OR DATABASE_MIRRORIN# . A$T(ENTICATION = CERTI'ICATE (OST_B_)&rt 4 ENCRYPTION = RE6$IRED A/#ORIT(M AES 4 RO/E = A// 5" #O
(0 +auvegardez le certi$icat 7;+=_M0

BACK$P CERTI'ICATE (OST_B_)&rt TO 'I/E = 'C78(OST_B_)&rt9)&r'" #O


!0 9u moAen d1une mthode scurise de copie quelconque copiez C:N7;+=_M_cert0cer sur 7;+=_90 Pour plus d1in$ormations consultez Procdure : autoriser la mise en miroir de bases de donnes ' utiliser des certi$icats pour les conne%ions sortantes (=ransactB+,L#0

Confi"uration des connexions entrantes

Pour configurer Host_A pour les connexions entrantes


&0 Crez une conne%ion sur 7;+=_9 pour 7;+=_M0

$SE %ast&r" CREATE /O#IN (OST_B_<og+n WIT( PASSWORD = '1Sa%-<&_Strong_Password =:'" #O


50 BBCrez un utilisateur pour cette conne%ion0

CREATE $SER (OST_B_>s&r 'OR /O#IN (OST_B_<og+n" #O


60 BB9ssociez le certi$icat ' l1utilisateur0

CREATE CERTI'ICATE (OST_B_)&rt A$T(ORI?ATION (OST_B_>s&r 'ROM 'I/E = 'C78(OST_B_)&rt9)&r' #O


(0 9ccordez l1autorisation C;NN2C= ' la conne%ion pour le point de terminaison de mise en miroir distant0

#RANT CONNECT ON ENDPOINT77End-o+nt_M+rror+ng TO @(OST_B_<og+nA" #O

Pour configurer Host_B pour les connexions entrantes


&0 Crez une conne%ion sur 7;+=_M pour 7;+=_90

$SE %ast&r" CREATE /O#IN (OST_A_<og+n WIT( PASSWORD = '=Sa%-<&:2_Strong_Password2'" #O


50 Cration d1un utilisateur pour cette conne%ion

CREATE $SER (OST_A_>s&r 'OR /O#IN (OST_A_<og+n" #O


60 9ssociez le certi$icat ' l1utilisateur0

CREATE CERTI'ICATE (OST_A_)&rt A$T(ORI?ATION (OST_A_>s&r 'ROM 'I/E = 'C78(OST_A_)&rt9)&r' #O


(0 9ccordez l1autorisation C;NN2C= ' la conne%ion pour le point de terminaison de mise en miroir distant0

#RANT CONNECT ON ENDPOINT77End-o+nt_M+rror+ng TO @(OST_A_<og+nA" #O

+m ortant !

+i vous envisagez d1utiliser le mode haute scurit avec basculement automatique vous devez rpter les m>mes tmoin pour les conne%ions sortantes et entrantes0 La con$iguration des conne%ions entrantes lorsqu1un serveur tm de con$igurer les conne%ions et les utilisateurs du serveur tmoin sur les deu% serveurs partenaires ainsi que les co utilisateurs des deu% serveurs partenaires sur le serveur tmoin0

Cration de la #ase de donnes miroir


Pour obtenir des in$ormations sur la cration d1une base de donnes miroir consultez Procdure : prparer une base de donnes miroir pour la mise en miroir (=ransactB+,L#0

Confi"uration des serveurs artenaires de mise en miroir

&0 +ur l1instance de serveur miroir de 7;+=_M d$inissez l1instance de serveur de 7;+=_9 en tant que serveur partenaire
(en $aisant d1elle l1instance initiale de serveur principal#0 :emplacez une adresse rseau valide par TCPD//.OSTBAGM0d&'ai+GC&r GAdAe+ture@H&rF1G2&'D90%40 Pour plus d1in$ormations consultez +pci$ication d1une adresse rseau de serveur (mise en miroir de base de donnes#0

BBAt (OST_B4 s&t s&rC&r +nstan)& on (OST_A as -artn&r .-r+n)+-a< s&rC&r57 A/TER DATABASE AdC&nt>r&WorDs SET PARTNER = 'TCP7EE(OST_A9MFdo%a+n9Cor-9AdC&nt>r&BWorDs9)o%70123'" #O

50 +ur l1instance de serveur principal de 7;+=_9 d$inissez l1instance de serveur de 7;+=_M en tant que serveur
partenaire (en $aisant d1elle l1instance initiale de serveur miroir#0 :emplacez une adresse rseau valide par TCPD//.OSTB(GM0d&'ai+GC&r GAdAe+ture@H&rF1G2&'D90%40

BBAt (OST_A4 s&t s&rC&r +nstan)& on (OST_B as -artn&r .%+rror s&rC&r59 A/TER DATABASE AdC&nt>r&WorDs SET PARTNER = 'TCP7EE(OST_B9MFdo%a+n9Cor-9AdC&nt>r&BWorDs9)o%70123'" #O
60 Cet e%emple suppose que la session est e%cute en mode hautes per$ormances0 Pour con$igurer cette session au mode hautes per$ormances sur l1instance de serveur principal (sur 7;+=_9# dsactivez la scurit des transactions0

BBCGang& to G+gGB-&r,or%an)& %od& ;F t>rn+ng o,, transa)ton sa,&tF9 A/TER DATABASE AdC&nt>r&WorDs SET PARTNER SA'ETY O'' #O

,emar-ue !

+i vous envisagez d1utiliser le mode haute scurit avec basculement automatique laissez la scurit des tr (valeur par d$aut# et a/outez dEs que possible le tmoin aprEs l1e%cution de la deu%iEme instruction +2= P Notez que le serveur tmoin doit d1abord >tre con$igur pour les conne%ions sortantes et entrantes0

S-ar putea să vă placă și