412

SQL Server 2008 - Administration

Embed Size (px)

Citation preview

  • Ce livre sur SQL Server 2008 sadresse toute personne dsireuse dadministrer une base de donnes (administrateur de base de donnes, dveloppeur...). Il prsente les diffrents lments ncessaires cette administration ainsi que lensemble des manipulations raliser par ladministrateur, depuis linstallation jusquaux oprations de sauvegarde et de restauration, en passant par la gestion de lespace disque, la gestion des utilisateurs, la gestion de la rplication. Les diffrents outils permettant une optimisation du serveur sont prsents ainsi que ceux permettant la mise en place dune solution de haute disponibilit. Les nouveaux concepts lis la version de SQL Server 2008 sont galement traits, tels ladministration par les rgles, lintgration avec le Power Shell, la compression et le cryptage des donnes. Les diffrentes oprations sont ralises depuis SQL Server Management Studio et en Transact SQL. Des lments sont en tlchargement sur cette page.

    Ce livre numrique a t conu et est diffus dans le respect des droits dauteur. Toutes les marques cites ont t dposes par leur diteur respectif. La loi du 11 Mars 1957 nautorisant aux termes des alinas 2 et 3 de larticle 41, dune part, que les copies ou reproductions strictement rserves lusage priv du copiste et non destines une utilisation collective, et, dautre part, que les analyses et les courtes citations dans un but dexemple et dillustration, toute reprsentation ou reproduction intgrale, ou partielle, faite sans le consentement de lauteur ou de ses ayants droit ou ayant cause, est illicite (alina 1er de larticle 40). Cette reprsentation ou reproduction, par quelque procd que ce soit, constituerait donc une contrefaon sanctionne par les articles 425 et suivants du Code Pnal. Copyright Editions ENI

    SQLServer2008Administration

    JrmeGABILLAUD

    Rsum

    L'auteur Ingnieur en Informatique pour l'Industrie, consultant, Jrme Gabillaud est galement responsable pdagogique dans un grand centre de formation informatique. Spcialiste des systmes d'accs aux donnes Microsoft ou Oracle, il est dj auteur de nombreux ouvrages sur ce sujet, reconnus pour leurs qualits techniques et pdagogiques.

    - 1 - ENI Editions - All rigths reserved

  • Introduction

    Laversion2008deSQLServer apportedenombreusesnouveautsque ce soit pour ladministrateurdebasesdedonnesoubienpourledveloppeurdapplications.Lagestiondesdonnesdanslecadredelanalysedcisionnelle(BusinessIntelligence)nestpasabordedanscetouvragemaisSQLServer2008proposegalementsurcedomainedenombreusesamliorations.

    SQLServerestdisponiblepourlesplatesformesWindowsServerenversion32et64bits,monooumultiprocesseur,etilexploitelesdiffrentscursdefaonnative.Lemoteurdebasededonnesestrobusteetpossdedescapacitsremarquablesdegestiondesdonneslorsdesmontesencharge.

    ParmilesnombreuxapportsdeSQLServer2008,ilestpossibledeciterlintgrationauPowerShell, lecryptagedesdonnes,lacompressiondesdonnesetdessauvegardes,lesdclencheursdeconnexion,laudit.

    SQLServer2008intgredefaonnativedenombreuxoutilsquifontqueSQLServerestplusquunsimpleserveurdebasesdedonnesrelationnelles.

    AussiladministrateurdebasesdedonnesdoitilpossderunebonnevuedensembledespossibilitsoffertesparlesdiffrentscomposantsdeSQLServerafindefairelesbonschoixentermedvolution.Ceslmentscomplmentairessontrarementinstallspardfautetdoiventltrelademande.Eneffet,ilnesertriendinstallerdesprogrammeset/ouservicessurleserveursicesderniersnesontpasutiliss.Demmelacquisitionet lutilisationdunoutiltierspour effectuer une tche qui peut tre ralis par lun des composants de SQL Server peut savrer ne pas trejudicieuxtantauniveaudesperformancesquedelinvestissement.

    SQL Server Management Studio reste loutil principal de travail que ce soit pour ladministrateur ou bien pour ledveloppeurdapplications.Ilestpossibledefaireladministrationdefaongraphique,maistouteslestchespeuventgalementltreenutilisantdesscriptsTransactSQL.Chaquesolutionpossdesesavantagesetsesinconvnients.Cestpourquoilesdeuxsolutionssontexposesdefaonquasisystmatiquedanscelivre.PourlessyntaxesTransactSQL,seuleslesoptionslespluscourantesserontprcises.Lobjectif nestpasderefaireladocumentationmaisdeprsenteraumieuxlesdiffrentesinstructions.

    SQLServerutilisesaproprestructuredebasededonnespourstockertouteslesinformationsrelativessapropregestion.Cesinformationssontconservesdanslestablesditessystme.Toutefoiscommelastructuredecestablesestamenetremodifielorsdunchangementdeversion,ilestrecommanddenepasinterrogerdirectementcestablesmaisdutiliserlesvuesdisponiblesdansleschmasysoubienINFORMATION_SCHEMA.Lutilisationdecesvuesdansdesrequtesdextractionpermettradelirelesinformationsconservesdansledictionnairedesdonnes.

    - 1 - ENI Editions - All rigths reserved

  • PrsentationdeSQLServer

    LebutdecechapitreestdeprsenterSQLServerdanssaglobalitetdacqurirunaperudeSQLServerdanssonensemble,savoir:

    l comprendrelanotiondeSGBDRetlemodedefonctionnementclient/serveur,

    l prsenterlescomposantsdeSQLServeretlesplatesformesdexcution,

    l prsenterlarchitecturedadministrationetdeprogrammation,

    l prsenterlanotiondebasededonnesetlesbasesinstallessurleserveurSQL.

    SQLServerestunSGBDR(SystmedeGestiondeBasededonnesRelationnelle)entirementintgrWindows,cequiautorisedenombreusessimplificationsauniveaudeladministration,toutenoffrantunmaximumdepossibilits.

    1.QuestcequunSGBDR?

    SQLServerestunSystmedeGestiondeBasedeDonnesRelationnelle(SGBDR),cequiluiconfreunetrsgrandecapacitgrerlesdonnestoutenconservantleurintgritetleurcohrence.

    SQLServerestchargde:

    l stockerlesdonnes,

    l vrifierlescontraintesdintgritdfinies,

    l garantirlacohrencedesdonnesquilstocke,mmeencasdepanne(arrtbrutal)dusystme,

    l assurerlesrelationsentrelesdonnesdfiniesparlesutilisateurs.

    CeproduitestcompltementintgrWindowsetceplusieursniveaux:

    l Observateurdesvnements:lejournaldesapplicationsestutilispourconsignerleserreursgnresparSQLServer.LagestiondeserreursestcentraliseparWindows,cequifacilitelediagnostic.

    l Analyseur de performances : par lajout de nouveaux compteurs, il est facile de dtecter les goulotsdtranglementetdemieuxragir,pourvitercesproblmes.Onutilisetoutelapuissancedelanalyseurdeperformances, et il est possible au sein du mme outil de poser des compteurs sur SQL Server et surWindowsetainsidtremmededtecterlevraiproblme.

    l Traitements parallles : SQL Server est capable de tirer profit des architecturesmutiprocesseurs. ChaqueinstanceSQLServerdisposedesonpropreprocessusdexcutionetdesthreadsWindowsoubiendesfibres(si loptionestactive) sontexcutsafindexploiteraumieux larchitecturematrielledisponible.Chaqueinstance SQL Server excute toujours plusieurs threads Windows. Pour prendre en charge tous lesprocesseurs prsents sur le systme, le paramtre de configuration max degree of parallelism doitconserver la valeur 0. Il sagit de la valeur par dfaut. Pour empcher la gnration de plan dexcutionparallle,ilsuffitdaffecterlavaleur1ceparamtre.Enfinenluiaffectantunevaleurcompriseentre1etlenombredeprocesseurs,ilestpossibledelimiterledegrdeparalllisme.Lavaleurmaximalesupporteparceparamtreest64.

    l Scurit :SQLServer est capable de sappuyer intgralement sur la scurit greparWindows, afin depermettreauxutilisateursfinauxdenepossderquunnomdutilisateuretunseulmotdepasse.NanmoinsSQLServergresonpropresystmedescuritpourtouslesclientsnonMicrosoft.

    l Les services Windows sont mis contribution pour excuter les composants logiciels correspondant auserveur.Lagestionduserveur(arrt,dmarrageetsuspension)estfaciliteetilestpossibledeprofiterdetoutes les fonctionnalits associesaux servicesdeWindows (dmarrageautomatique, excutiondans lecontexteduncomptedutilisateurdudomaine...).

    - 1 - ENI Editions - All rigths reserved

  • l ActiveDirectory:lesserveursSQL2008etleurspropritssontautomatiquementenregistrsdansleservicedannuaireActiveDirectory.IlestainsipossibledeffectuerdesrecherchesdansActiveDirectorypourlocaliserlesinstancesSQLServerquifonctionnent.

    SQLServerpeutgrerdeuxtypesdebasesdedonnesdiffrentes:

    l les bases OLTP (OnLine Transactional Processing) qui correspondent des bases dans lesquelles lesinformationssontstockesdefaondirecteafinderutiliserplustardcesinformationstellesquellesonttstockes.

    l lesbasesOLAP(OnLineAnalyticalProcessing)quicontiennentdesinformationsstatistiquesafindtrecapabledextraire les informations sous forme de cube multidimensionnel dans un but daide la dcision parexemple.LesstatistiquescontenuesdansdesbasesOLAPsappuientsurdesinformationscontenuesdansunebaseOLTP.

    2.ModedefonctionnementClient/Serveur

    Toutes les applications qui utilisent SQL Server pour grer les donnes, sappuient sur une architectureclient/serveur. Lapplication cliente est charge de la mise en place de linterface utilisateur. Cette applicationsexcutegnralementsurplusieurspostesclientssimultanment.Leserveur,quantlui,estchargdelagestiondesdonnes,etrpartitlesressourcesduserveurentrelesdiffrentesdemandes(requtes)desclients.Lesrglesdegestiondelentrepriseserpartissententreleclientetleserveur.

    ModedefonctionnementClient/Serveur

    Onpeutdistinguertroiscas:

    l lesrglessontentirement implmentessur leclient,appelalorsclient lourd.Cettesolutionpermetdelibrer des ressources au niveau du serveur, mais les problmes de mise jour des clients et dedveloppementdautresapplicationsseposent.

    l lesrglessontentirementdfiniessurleserveur,leclientestalorsunclientlger.Cettesolutionpermetdobtenirdesclientsquipossdentpeuderessourcesmatrielles,etautoriseunecentralisationdesrglescequi rendplussouples lesmises jour.Cependantdenombreuses ressourcessontconsommessur leserveuret linteraction avec lutilisateur risquedtre faible,puisque lensemble des contraintes est vrifilorsquelutilisateursoumetsademande(requte)auserveur.

    l les rgles dentreprises sont dfinies sur une tiercemachine, appeleMiddleWare, afin de soulager lesressourcesduclientetduserveur,toutenconservantlacentralisationdesrgles.

    - 2 - ENI Editions - All rigths reserved

  • Larchitectureclient/serveurpermetundploiementoptimumdesapplicationsclientessurdenombreuxpostestouten conservantunegestion centralisedesdonnes (le serveur), cequi rendpossible lepartagedinformationslintrieurdelentreprise.

    Il est bien sr possible davoir plusieurs applications clientes sur le mme serveur de base de donnes. Cettepossibilitoffredenombreusesfonctionnalits,maisilfauttoutefoisveillercequelachargedetravailsurleserveurnesoitpastropimportanteauregarddescapacitsdelamachine.Cettearchitectureclient/serveurestrespectepar tous les outils permettant daccder des informations contenues par le serveur SQL, donc les outilsdadministration,mmesilssontinstallssurleserveur.

    Touteslesdemandesenprovenancedesclientsversleserveur,doiventtrecritesenTransactSQL.CelangagederequtedebasededonnesrespectelanormeANSISQL92.LeSQLfournitunensembledecommandespourgrerlesobjetsetmanipulerlesdonnesdanslesbases.LeTransactSQLestenrichidenombreusesfonctionnalits,nonnormalises,afindtendrelespossibilitsduserveur.Ilestainsipossiblededfinirdesprocduresstockessurleserveur.

    3.Lesplatesformespossibles

    Ilestimportantdedistinguerdeuxcas:dunctlesplatesformespossiblespourleclientetdelautrelesplatesformespourleserveur.

    LesplatesformesclientesprsentesicisontlespostessurlesquelslesoutilsdadministrationSQLServerpeuventtreinstalls.IlnesagitpasdespostesquihbergentuneapplicationquiseconnecteuneinstanceSQLServerpourgrerlesdonnes.

    Dunefaonsynthtique, lesoutilsclientsdadministrationspeuventtre installssurtoussystmesdexploitationWindows2003,WindowsXPProoutoutsystmeplusrcent.

    Parcontre,pourlapartieserveur,lesdisponibilitsentermesdeplatesformessontfonctionsdelditionSQLServerchoisie.Nanmoinspourhbergeruneinstancedebasededonnesenproduction,ilestncessairededisposerdunserveur performant et fiable.Une plateformeWindows2003 est donc recommande. LditiondeWindows2003serachoisieen fonctiondescontraintes imposespar lditionSQLServerslectionneetdescontraintes lieslenvironnementtechnique.LinstallationduneinstancesousWindowsXPserarservedespostesnomades.

    - 3 - ENI Editions - All rigths reserved

  • Danslecasoleclienthbergeuneapplicationspcifique,lagammedesplatesformesestconsidrablementlargiegrce,enparticulier,aupilotejdbcquipermetdaccderuneinstanceSQLServerdepuisuneapplicationcriteenjava.LagammeestencorelargiedanslescasduneapplicationASPXquiproposeuneinterfaceInternet.UnsimplenavigateurInternetpermetalorsdelancerlapplication.

    4.LescomposantsdeSQLServer

    Lemoteur de base de donnes de SQL Server ou Database Engine est compos de plusieurs logiciels. Certainssexcutentsousformedeservicesalorsquedautrespossdentuneinterfaceutilisateurgraphiqueouenlignedecommande.

    SQLServersexcutesousformedeservicesWindows.Suivantlesoptionsdinstallationchoisies,ilpeutyavoirplusdeservices.Lesprincipauxservicessont:

    l SQLServer:cestleserveurdebasededonnesproprementparl.Siceservicenestpasdmarr,ilnestpas possible daccder aux informations. Cestpar lintermdiaire de ce service que SQL Server assure lagestiondes requtesutilisateurs.Ce service est rfrenc sous lenomMSSQLSERVERpour linstancepardfautetMSSQLSERVER$nomInstancedanslecasduneinstancenomme.

    l SQLServerAgent:ceserviceprendenchargelexcutiondetchesplanifies,lasurveillancedeSQLServeret le suivi des alertes. Il est directement li une instance de SQL Server. Il est rfrenc dans legestionnaire de service sous le nom SQL Server Agent(MSSQLSERVER) pour linstance par dfaut et SQLServerAgent(nomInstance)danslecasduneinstancenomme.

    l MicrosoftFullTextSearch : ceserviceproposedegrer lindexationdesdocumentsde type textestocksdansSQLServeretgregalementlesrecherchesparrapportauxmotscls.

    ComposantsServeur

    - 4 - ENI Editions - All rigths reserved

  • IlestpossibledinstallerplusieursinstancesdeSQLServersurlemmeposte.

    Linstallation des composants de connectivit sur les postes clients permet de prendre en charge la gestion durseau,laDBLibrarypourlesprogrammesenaccsnatif,lesupportOLEDBetODBC.

    Les ralisations des tches dadministration sont possibles par lutilisation doutils. Ces outils possdent pour laplupartuneinterfacegraphiqueconvivialeetdutilisationintuitive.Cependant,lestchesadministrativesdoiventtrerflchiesavantleurralisation.Lutilisationdecertainsoutilssupposequelecomposantserveurcorrespondantestinstall.

    Cesoutilssont:

    l SQL Server Management Studio pour raliser toutes les oprations au niveau du serveur de base dedonnes.

    l SQLServerConfigurationManagerpourgrerlesserviceslisSQLServer.

    l SQLServerProfilerpoursuivreetanalyserlachargedetravailduneinstanceSQLServer.

    l DatabaseEngineTuningAdvisorpourpermettreuneoptimisationdufonctionnementduserveurdebasededonnes.

    En plus de ces outils, SQL Server propose Business Intelligence Development Studio pour la programmation detravauxquivontsinscriredansuncadredanalysemultidimensionnelledesdonnes.

    Enfin,touslesoutilsetlefonctionnementdeSQLServersontrichementdocuments.

    LesdiffrentesbriqueslogiciellesfourniesparSQLServersarticulenttoujoursautourdumoteurdebasededonnesrelationnellesquitraitedefaonperformantelesinformationsstockesauformatrelationneletauformatxml.

    l SQLServerAnalysisServicepermetuneanalysepoussedescubesdedonnesdfinisparlintermdiaireduBusinessIntelligenceDevelopmentStudio.

    l SQLServerIntegrationService(SSIS)estunoutildimportationetdexportationdedonnesfacilemettreenplacetoutentantfortementparamtrable.

    l ReportingServicespermetdemettreenplacedesrapportsdanalysedesdonnes.

    l La rplicationdesdonnes surdiffrentes instancespermetdepositionner lesdonnesauplusprsdesutilisateursetderduirelestempsdetraitement.

    l ServiceBrokerpermetuntravailenmodeasynchroneetfaciliteainsilagestiondespicsdeforteactivitenstockantlesdemandesdetravailavantdelestraiter.

    l LintgrationduCLRdansSQLServerpermetdedvelopperprocduresetfonctionsenutilisantleslangages

    ConnectivitClient

    Outilsdegestion

    Lescomposants

    - 5 - ENI Editions - All rigths reserved

  • VB.NetetC#.LintgrationduCLRnevientpassesubstituerauTransactSQLmaisseprsentecommeuncomplmentafindepouvoirraliseruncodagesimpleetperformantpourlensembledesfonctionnalitsquidoiventtreprsentessurleserveur.

    l LespointsdeterminaisonhttppermettentSQLServerdhbergersespropresservicesetdefaciliterainsilintgrationduserveurdansuncontextehtrogne.

    UnemeilleuregestiondelammoireestproposeaveclamiseenplacedelAPIAWEquipermetdegrer,surdessystmes32bits,plusde4Godemmoire.Lditionentrepriseestainsicapabledegrerjusqu64Godemmoire.LapriseenchargedeAWEestpossibleenactivantloptiondeconfigurationaweenabledavecsp_configure.

    aweenabledestuneoptiondeconfigurationavance.

    Dans lecaso lagestionde lammoireAWEestactive,SQLServerpeut,par lintermdiairedeWindows2003,prendreenchargeunajoutdemmoirechaud.Ceciestpossibleuniquementsilaplateformematriellepermetderaliserunetelleopration.

    Dans lecasoSQLServersexcute suruneplateformeWindowsServer2003ou2008 lagestionde lammoireAWEest dynamique. Par contre, dans le casdune excution sousWindows2000 la gestionde

    cettemmoireeststatique.

    ReportingServices permet la cration de rapports pour prsenter aumieux les informations contenues dansSQLServer.Cesrapports,hbergssurunserveurIIS,peuventtreconusparlintermdiairedugnrateurderapportduBusinessIntelligenceDevelopmentStudio.

    LesrapportssontdisponiblesauformatHTMLmaisilspeuventexisterauformatpdf.Lagestiondecesrapportsauniveauscurit,planificationdesrgnrations...estassureparReportingServices.

    Analysis Services est un outil permettant la construction des cubes multidimensionnels danalyse des donnes.Quelques fonctionnalits OLAP taient dj prsentes dans les versions prcdentes de SQL Server mais avecAnalysis Services, SQL Server permet de raliser des analyses compltes des cubes danalyses qui peuvent tredfinis.

    Pour amliorer les performances de traitement des cubes il est possible dinstaller plusieurs instances dumoteurAnalysisServicesurlemmeserveur.

    AnalysisServicesappuieintgralementsurlinterfaceBusinessIntelligenceDevelopmentStudio.

    LesterminaisonshttppermettentSQLServerderpondredefaondirectedesrequteshttp,cestdiresanspasser par lintermdiaire dun serveur IIS. SQL Server offre ainsi la possibilit dexposer des procdures et desfonctionsautraversdeservicesWeb.

    Les points de terminaisons http ne sont disponibles que si SQL Server sexcute sur une plateformeWindows2003ouWindows2008.

    Service Broker permet une gestion asynchrone des requtes. Plus exactement, Service Broker permet uneapplication cliente denvoyer de nombreuses demandes de services et SQL Server peut traiter ces demandes(message)lesunesaprslesautres.Lamiseenattentedesmessagespermetdergulerlachargedetravailsurleserveuretdabsorbercertainespointesdactivitsponctuelles.

    Service Broker dispose dun mcanisme scuris qui lui permet de garantir le traitement des messages. ServiceBrokerutiliseSQLServerpourconserverlafiledattentedesmessagesnonencoretraits.

    Lintgration du CLR (Common Language Runtime) SQL Server, permet daugmenter considrablement lespossibilitsoffertesentermedeprogrammation.LaprsenceduCLRneremetpasencauseleTransactSQL.Chacun

    MmoireAWE

    ReportingServices

    AnalysisServices

    Terminaisonshttp

    ServiceBroker

    CLR

    - 6 - ENI Editions - All rigths reserved

  • estcomplmentaire.LeTransactSQLestparfaitpourcriredesprocduresou fonctionspour lesquelles il yauntraitementintensifdesdonnes.Aucontraire,danslecasolevolumedesdonnesmanipulesestfaible,leCLRpermetdcriresimplementdestraitementscomplexes,carilbnficiedetoutelarichesseduCLR.

    Le CLR permet galement de dfinir ses propres types de donnes ou bien de nouvelles fonctions de calculdagrgat.

    Enfin,leCLRpermetauxdveloppeursdapplicationsdedvelopperdesprocduresetfonctionssurSQLServertoutenconservantleurslangagesfavoris(VB.NetouC#parexemple),etdoncsansavoirbesoindemaitriserleTransactSQL.

    Dans le cas o le code est crit depuis Visual Studio, lintgration de la version compile dans SQL Server et lemappageCLRTransactSQLestralisdefaonautomatique.IlestpossiblederaliserledveloppementendehorsduVisualStudiomaislintgrationSQLServerserafaitedefaonmanuelle,cequiestunetchefastidieuse.

    - 7 - ENI Editions - All rigths reserved

  • Architecture

    1.Administration

    LelangagenatureldeSQLServerestleTransactSQL.Ilestdoncncessairedeluitransmettrelesinstructionsdanscelangage.Commecelangagenestpasforcmentnaturelpourlutilisateur,ilestpossibledecomposerlinstructiondefaongraphiqueparSQLServerManagementStudio,puisdeprovoquersonexcutionsurleserveurlaidedesboutonsOK,Appliquer...LesoutilsgraphiquesutilisentlabibliothqueSMO(SQLServerManagementObject)pourtablirundialogueefficaceavecleserveur.

    SQLSMOenglobeettendSQLDMO.LabibliothqueSMOestdonccompatibleavecSQLServer7,SQLServer2000,2005et2008.

    IlestdoncpossibledcriredesscriptsTransactSQLpourexcuterdesoprationsadministrativessous formedetraitementbatch.

    AdministrationdeSQLServer

    2.Programmation

    Ledveloppementdapplicationsclientespourvisualiserlesdonnescontenuesdansleserveurpeutsappuyersurdiffrentestechnologies.

    La DLL SQL Native Client est une mthode daccs aux donnes qui est disponible aussi bien en utilisant la

    - 1 - ENI Editions - All rigths reserved

  • technologie OLEDB ou bien ODBC pour accder aux donnes. Avec cette nouvelle API, il est possible dutiliserlensembledesfonctionnalitsdeSQLServercommelestypespersonnalissdfinisaveclesCLR(UDT:UserDefinedType),MARSoubienencoreletypexml.

    SQLNativeClientestuneAPIquipermetdetirerpleinementprofitdesfonctionnalitsdeSQLServeretdepossderunprogrammequiaccdedefaonoptimumauserveur.

    Il est toujours possible dutiliser les objets ADO pour accder linformation. Ce choix est plus standard car unprogrammeaccdantunesourcededonnesADOpeuttravailleraussibienavecunebaseOraclequeSQLServer,maisnepermetpaslammegestiondetouteslesfonctionnalitsoffertesparSQLServer.LAPISQLNativeClientpermetlcrituredeprogrammesclientsoptimissmaisuniquementcapablesdaccderdesdonneshbergesparunserveurSQLServer.

    SQLNativeClientseraadoptcommemodledaccsauxdonnesdanslesnouveauxprogrammescritsenVB.Netou C# qui souhaitent travailler avec SQL Servermais aussi dans les programmes existants lorsque ces dernierssouhaitenttravailleravecdeslmentsspcifiquesSQLServer,commeletypeXML,parexemple.

    Cemodledeprogrammationcorresponduneapplicationclientqui souhaitegrer lesdonnes.Dans le casolapplication souhaite tre capable de faire des oprations dadministration, il est alors ncessaire dutiliser labibliothqueSMO.

    - 2 - ENI Editions - All rigths reserved

  • BasededonnesSQLServer

    1.Objetsdebasededonnes

    Lesbasesdedonnescontiennentuncertainnombredobjetslogiques.Ilestpossiblederegroupercesobjetsentroisgrandescatgories:

    l Gestionetstockagedesdonnes:tables,typededonnes,contraintesdintgrit,valeurpardfaut,rglesetindex.

    l Accsauxdonnes:vuesetprocduresstockes.

    l Gestion de lintgrit complexe : dclencheur (procdure stocke sexcutant automatiquement lors delexcutiondunordreSQLmodifiantlecontenudunetable:INSERT,UPDATEetDELETE).Ledclencheuresttoujoursassociune tableetune instructionSQL. Ilpermetdemettreenplacedes rglesdintgritcomplexeschevalsurplusieurstablesoudemaintenirdesdonnesnonnormalises.

    Objetdebasededonnes

    Nomcompletdesobjets

    Largleappliquepournommerlesobjetspermetuneparfaiteidentification.Lenomcompletestcomposcommesuit:serveur.nomBase.propritaire.objet.Pardfaut,seullenomdelobjetestprcis.CettenotionseradtailleaucoursduchapitreGestiondelabasededonnes.

    2.Basesdedonnessystmeettablessystme

    Pourgrer lensembledesdonnes stockes,SQLServer sutiliseluimme. Il existedoncdesbasesdedonnessystmeetsurchaquebaseutilisateur,quelquestablessystme.Linsertionetlamisejourdedonnesdanscestablesneseffectuentjamaisdirectement,maisviadescommandesTransactSQLoudesprocduresstockes.

    - 1 - ENI Editions - All rigths reserved

  • Organigrammedesbasesdedonnes

    LesnomsdesbasesdedonnesetdestablessystmessontfixsetconnusparSQLServer.Ilnefautdoncpasrenommerunetableouunebasesystme.

    Cest la base de donnes principale de SQL Server. Lensemble des donnes stratgiques pour le bonfonctionnementduserveuryeststock(comptesdeconnexion,optionsdeconfiguration,lexistencedesbasesdedonnesutilisateursetlesrfrencesverslesfichiersquicomposentcesbases...).

    Cettebasecontientlensembledeslmentsinscritsdanstoutenouvellebaseutilisateur.Pardfaut,ilnyaquelestablessystme,maisilestpossiblederajouterdeslments.

    LabaseTempdbestunespacetemporairedestockagepartag.Ilpermetdegrerlestablestemporaireslocalesouglobales, les tablesde travail intermdiairespour fairedes trisparexemple,maisaussi les jeuxde rsultatsdescurseurs.LabaseTempdbestrecre,avecsatailleinitiale,lorsdechaquedmarragedelinstance.Ainsi,aucuneinformationnepeut tre conservede faonpersistante lintrieurde labaseTempdb. Lesobjets temporairessont,quanteux,supprimslorsdeladconnexiondeleurpropritaire.

    Elle contient les informations utilises par le service SQL Server Agent pour dclencher une alerte, prvenir unoprateurouexcuterunetcheplanifie.Msdbcontientgalementlhistoriquedelexcutiondestches.

    CettebaseenlectureseulecontientladfinitiondetouslesnouveauxlmentsdfinispartirdeSQLServer2005.Lesobjetssystmesysontdfinisbienquelogiquementilsapparaissentdansleschmadelutilisateursys.Aveccettebase,lamigrationdeSQLServer2000versSQLServer200xestfacilite,carlajoutsimpledelabaseressourcepermetdobtenirlensembledesobjetsdfinisdansSQLServer2005sansquilsoitncessairedetoucherlabase

    Master

    Model

    Tempdb

    Msdb

    Ressource

    - 2 - ENI Editions - All rigths reserved

  • master.

    Lesbasesdedonnesutilisateursvonthbergerlesdonnesfourniesparlesutilisateurs.Lesbasesprsentessurle schma prcdent (AdventureWorks et Gescom) sont les bases dexemples utilises dans la documentationofficielledeSQLServeretdanscetouvrage.

    3.Lestablessystme

    Les tablessystmesont toujoursprsentesdansSQLServer.Cependant, il est recommanddenepas travaillerdirectement avec ces tables. Pour rechercher linformation, il faut passer par le schma dinformation et plusexactementlesvuesdfiniessousleschmadelutilisateursyslorsquecelaestpossible.

    Dansletableaucidessous,quelquestablessystmesontrfrences.

    LestablessystmesontutilisesdirectementparlemoteurdeSQLServer.LesapplicationsquiutilisentSQLServernedoiventenaucuncasaccderdirectementces tables,mmeen lecture.Eneffet, comme lastructuredecestables volue avec les versions de SQL Server, si certaines applications accdent de faon directe aux tablessystme, on peut se trouver dans limpossibilit de migrer vers une nouvelle version de SQL Server tant quelapplicationnapastrcrite.

    SQLServerneprendpasencomptelesdclencheursquipourraienttredfinissurlestablessystmecarilspeuventgnerlebondroulementdecertainesoprations.

    4.Extractiondemtadonnes

    Pour interroger lesdonnescontenuesdans les tablessystme, ilestdconseillde le fairedirectementparunerequtedetypeSELECT.Ilestprfrabledepasserparlutilisationdeprocduresstockes,defonctionssystmeetdevuesduschmadinformation.

    Entantquadministrateur,ilestpossibledemodifierlecontenudestablessystme.Cetteoprationestproscrirecarellepeutavoirdesconsquencesirrversiblesetdramatiques.Leseulmoyenderemdierun

    telproblmeseraalorsderestaurerunesauvegarde.

    Lesprocduresstockessystmesontmaintenues,pour laplupart,pourdesraisonsdecompatibilitascendante.Leurutilisationestdoncdconseiller.

    Pourinterrogerlestablessystme,ilexistedenombreusesprocduresstockes.Ellescommencenttoutesparsp_.

    Basesdedonnesutilisateur

    Cataloguesystme(prsentuniquementdanslabaseMaster)

    Tablesystme Fonction

    syslogins UnelignepourchaqueutilisateurougroupeWindowsautorisseconnecterauserveurSQL.

    sysmessages Unelignepourchaquemessagederreurdfinietpourchaquelangue.

    sysdatabases Uneligneparbasededonnesutilisateur.

    sysconfigures Unelignepourchaqueoptiondeconfigurationduserveur.

    sysusers Unelignepourchaqueutilisateurdfinidanslabase.

    syscolumns Unelignepourchaquecolonnedestables,vuesetpourchaqueparamtredesprocduresstockes.

    sysobjects Unelignepourchaqueobjetdelabasededonnes.

    Procduresstockessystme

    - 3 - ENI Editions - All rigths reserved

  • Parmitouteslesprocduresstockes,citons:

    SQL Server propose des vues systme qui permettent dobtenir des informations systme. Toutes ces vues sontprsentesdansleschmasys.

    Afindenavigueraumieuxdanscesvues,ellessontregroupesparthmes:

    l Objets,typesetindex

    l Serveurslis

    l CLR

    l Miseenmiroir

    l ServiceBroker

    l Scurit

    l Transactions

    Procdurestocke Description

    sp_help[nom_objet] Informationssurlobjetindiqu.

    sp_helpdb[nom_base_donnes] Informationssurlabasededonnesindique.

    sp_helpindex[nom_table] Informationssurlesindexdelatableindique.

    sp_helplogins[nom_connexion] Informationssurlaconnexionindique.

    sp_who Listedesutilisateursactuellementconnects.

    Lecatalogue

    - 4 - ENI Editions - All rigths reserved

  • l Configurationduserveur

    l Informationsurleserveur

    l Environnementdexcution

    l Stockage

    l Pointdeterminaisons

    l Partitionnement

    l Tracesetvnements

    Les fonctions systme sont utilisables avec des commandes Transact SQL. Il est ainsi possible de rcuprer desvaleursconcernantlabasededonnessurlaquelleontravaille,surleserveurousurlesutilisateurs.

    Citonsenquelquesunes:

    Fonctionssystme

    Fonctionssystme Paramtre Description

    DB_ID Nom Retrouvelidentificateurdelabasededonnes.

    USER_NAME ID Retrouvelenomdelutilisateurpartirdesonidentifiant.

    COL_LENGTH Colonne Longueurdelacolonne.

    STATS_DATE Index Datedederniremisejourdesstatistiques.

    DATALENGTH Typededonnes Longueurdelexpression.

    Schmadinformation

    - 5 - ENI Editions - All rigths reserved

  • Ilsagitdunensembledevuesquiproposentunevisualisationdesparamtresdefaonindpendantedestablessystme.Ennefaisantpasdirectementrfrenceauxtablessystme,onseprservedesmodificationsquipeuventintervenir sur leurs structures lors des prochaines versions. De plus, ces vues sont conformes la dfinition dustandardANSISQLpour lesschmasdinformation.Chaquevueprsentedesmtadonnespour lensembledesobjetscontenusdanslabasededonnes.

    Lesvuesduschmadinformation:

    CHECK_CONSTRAINTS

    VisualiselensembledescontraintesdetypeCHECKdfiniesdanslabasededonnes.

    COLUMN_DOMAIN_USAGE

    Visualiselensembledescolonnesdfiniessuruntypededonnesutilisateur.

    COLUMN_PRIVILEGE

    Visualiselensembledesprivilgesaccords,auniveaucolonne,pourlutilisateurcourantoupourunutilisateurdelabasededonnes.

    COLUMNS

    Visualise la dfinition de lensemble des colonnes accessibles, dans la base de donnes courante, lutilisateuractuel.

    CONSTRAINT_COLUMN_USAGE

    Visualiselensembledescolonnespourlesquellesilexisteunecontrainte.

    CONSTRAINT_TABLE_USAGE

    Visualiselensembledestablespourlesquellesaumoinsunecontrainteestdfinie.

    DOMAIN_CONSTRAINTS

    Visualiselensembledestypesdedonnesutilisateurs,quisontaccessiblesparlutilisateurcourantetquisontlisunergle.

    DOMAINS

    Visualiselensembledestypesdedonnesutilisateurs,quisontaccessiblesparlutilisateurcourant.

    KEY_COLUMN_USAGE

    Visualiselensembledescolonnespourlesquellesunecontraintedeclestdfinie.

    PARAMETERS

    Visualiselespropritsdesparamtresdesfonctionsdfiniesparlutilisateuretdesprocduresstockesaccessibleslutilisateurcourant.Pourlesfonctions,lesinformationsrelativeslavaleurderetoursontgalementvisualises.

    REFERENTIAL_CONSTRAINTS

    Visualiselensembledescontraintesdeclstrangresdfiniesdanslabasededonnescourante.

    ROUTINES

    Visualiselensembledesprocduresstockesetdesfonctionsaccessibleslutilisateurcourant.

    ROUTINE_COLUMNS

    Visualiselespropritsdechaquecolonnerenvoyesparlesfonctionsaccessibleslutilisateurcourant.

    SCHEMATA

    - 6 - ENI Editions - All rigths reserved

  • Visualiselesbasesdedonnespourlesquelleslutilisateurcourantpossdedesautorisations.

    TABLE_CONSTRAINTS

    Visualiselescontraintesdeniveautable,posesdanslabasededonnescourante.

    TABLE_PRIVILEGES

    Visualiselensembledesprivilgesaccordslutilisateuractueldanslabasededonnescouranteetlensembledesprivilgesaccordsparlutilisateuractueldautresutilisateursdelabasededonnescourante.

    TABLES

    Visualiselensembledestablesdelabasededonnescourantepourlesquelleslutilisateuractueldisposededroits.

    VIEW_COLUMN_USAGE

    Visualiselensembledescolonnesdetablesquisontutilisesdansladfinitionduneouplusieursvues.

    VIEW_TABLE_USAGE

    Visualiselensembledestablesdelabasededonnescourantequisontutiliseslorsdeladfinitiondevues.

    VIEWS

    Visualiselensembledesvuesaccessibleslutilisateuractueldanslabasededonnescourante.

    5.Lestchesdeladministrateur

    Ladministrateurdebasesdedonnesapourobjectifprincipaldamliorerlefonctionnementdelabasededonnes.BienqueSQLServerpossdedenombreuxoutilsetalgorithmesdautooptimisation,ilrestedenombreusestchesladministrateur.

    Lesprincipalestchesdeladministrateursont:

    l GrerlesservicesSQLServer

    - 7 - ENI Editions - All rigths reserved

  • l GrerlesinstancesSQLServer

    l Mettreenplaceleprocessusdesauvegardeetderestauration

    l Configurerunedisponibilitdesdonnesenaccordaveclapolitiquedentreprise

    l Grerlesconfigurationsrseaux

    l Importeretexporterdesdonnes.

    EnplusdescomptencessystmequedoitpossderladministrateurpourtrecapabledegreraumieuxlinstanceSQLServer, ilest importantpour luideconnatre lespossibilitsoffertesparSQLServerpour lautomatisationdestchesavecSQLAgent.

    Pourmesurerlersultatdesontravailetcomparerlesdiffrentschoixdeconfigurationquilpeuttreamenfaire,ladministrateurdoittreenmesuredutiliserlesoutilsetmthodeslisSQLServer.

    Enfinetcestsansdouteunpointcrucial,ladministrationdelabasedoittreinscritedansunprocessusplusglobalqui intgre ladministrateur ds la conception de la base, de faon effectuer les meilleurs choix en termedarchitecturedslaconception.Ladministrateurpourraainsiintervenirsurlacrationdelabaseetleschoixfaitscomme,parexemple,lenombredegroupedefichiersutiliser,lesindex,lesvues,lesprocduresstockesdfinirde faon optimiser le trafic rseau mais aussi pour simplifier la gestion des droits daccs. Cest galementladministrateurquivapouvoirconseillersurlepartitionnementounondunetable.

    - 8 - ENI Editions - All rigths reserved

  • InstallerSQLServer

    LinstallationdeSQLServerpermetdeprsenterlesdiffrentesditionsdeSQLServerainsiquededtaillerlesoptionsdinstallationpossibles.UnpointtoutparticulierseramisenplacepourdtaillerlexcutiondesservicesassocisSQLServer(logicielsserveur).Unefoisleserveurinstall,ilfautsassurerquelinstallationsestdroulecorrectementpuisilfautconfigurerleserveuretcertainsoutilsclientspourraliserlesdiffrentestapesdadministration.

    Bienquefacileraliser,linstallationdeSQLServerdoittreuneoprationrflchie.Eneffet,denombreusesoptionsdinstallationexistentetleurchoixdoitcorrespondreunrelbesoin,oupermettredecouvrirunevolutionfuturedusystme.

    1.LesditionsdeSQLServer

    SQLServerestdisponiblesouslaformedeplusieursditions.Chaqueditionsedistinguepardescaractristiquesspcifiques.Enfonctiondespossibilitssouhaites,lechoixseporterasuruneditionoubienuneautre.

    Certainesditions(standardetentreprise)sontplusdestineslagestiondesdonnesduneentreprisetandisquecertainesditions(developer,workgroup,web,express)ontpourobjectifdesatisfairedesbesoinsbienparticuliers.ToutescesditionsdeSQLServersontdisponiblespourdesplatesformes32et64bits.Enfin,lditioncompactestquantelledestineauxpriphriquesmobiles.

    Ldition Entreprise est la plus complte. Elle propose lensemble des fonctionnalits disponibles avec SQL Server.Cette dition est conue pour tre capable de grer des volumes trs importants en termes de donnes et detransactionsavecdenombreuxutilisateursconnects.

    Cetteditionestdisponiblepourlesplatesformes32et64bits(x86,x64etIA64).

    Cette dition dispose galement des fonctionnalits avances en ce qui concerne les oprations de businessintelligence.

    Lditionentreprisesedistinguedesautresditionssurlespointssuivants:

    l Supportejusqu50instancesdeSQLServer

    l Priseenchargedupartitionnementetdelaparalllisation

    l Supportelacompressiondesdonnes

    l Disposedugouverneurderessources

    l Proposelamiseenmiroirdebasesdedonnesetunercuprationautomatiquepartirdumiroir

    l Permetdegrerdesclusters

    l Autoriselacrationdindexenligne

    l Permetlarestaurationenlignedesfichiersetdespagesaltrs

    l Autoriselacrationdesauvegardescompresses

    l Proposeunhautniveaudescurit(chiffrementtransparentdesdonnes)etdaudit

    l PrendenchargelesdiffrentstypesderplicationycomprisversdesclientsOracle.

    Cette dition, plus simple que ldition entreprise, a pour objectif de rpondre aux besoins dune entreprise quichercheunmoteurdebasededonnesperformantetquinapasbesoindesfonctionnalitsspcifiquesdelditionentreprise.

    CestgalementuneditionstandardquiestmisedispositiondansSBS(SmallBusinessServer)afindetravailler

    Entreprise

    Standard

    - 1 - ENI Editions - All rigths reserved

  • dansunenvironnementdemoinsde75postes.

    Lesprincipauxpointsfortsdecetteditionsont:

    l Lapossibilitdavoir16instancesmaximum

    l Laprisedecomptedesbasesdedonnesmiroir

    l Lapossibilitdedfinirdesrplications

    l Lagestionparlesstratgies

    l ImportationdedonnesviaSSIS(SQLServerIntegrationServices).

    LditionExpressdeSQLServer2008possdelaparticularitdtreutilisableenproductionsansquilsoitncessairedesacquitterdunelicencedeSQLServer.CetteversionnestpasuneversiondgradedeSQLServer,maisilsagitbiendumoteurSQLServerpleinementfonctionnel.Ilnexistepasdelimitequantaunombredutilisateursconnects.Lesseules limitationsquiexistentconcernent levolumededonnes :4Goet le faitque lemoteurnepuissepasexploiterplusdungigaoctetsdemmoire.Ilesttoutefoisraisonnabledepenserquelorsquuneapplicationatteintceslimites,lentreprisepossdelesmoyensncessairespouracquriruneversioncompltedeSQLServer.

    CetteditionexpressestconseillersansmodrationauprsdesdveloppeursdapplicationscarilserapossibledemigrertrssimplementversuneditionsuprieuredeSQLServer.

    Ce typedditionestgalementbienadaptpour lesapplicationsautonomes.Eneffet, lditionexpresspeuttreinstalle sur une plateforme Windows utilisateur, comme par exemple lordinateur portable dun commercial quiemmneavec lui labasedetous lesarticlesde lentreprise.Cettebasepeuttremise jourpar leprocessusderplicationdeSQLServerquipermetdesynchroniserlesdonnesauniveauducatalogueetdelesinjecterdansleSystmedInformationdelentreprise.

    Cetteditionestgalementutiledans la cadreduneapplicationmonopostequincessiteunegestion robusteetfiabledesdonnes.ChoisirdutiliserSQLServerpourcetypedapplicationpermetdelaisserouvertlepassageversunegestionmultiutilisateur.

    SQL Server 2008 propose galement une dition Express Advanced qui propose les mmes fonctionnalits quelditionexpressenrichiedelapossibilitdeffectuerdesrapports.

    Enplusde toutes cesditionsdeproduction,SQLServerproposegalementuneditionDeveloper.CetteditionDeveloper comprend lensemble des fonctionnalits proposes par ldition Entreprise. Toutefois, avec une ditionDeveloper,lamiseenproductionnestpaslgale.Commesonnomlindique,laversionDeveloperpermetlquipededveloppementdapplication de faire ses tests sur une base pleinement fonctionnelle sans pour autant tre danslobligationdacqurirunelicencedeproduction.

    IlsagitdelditiondeSQLServerdestinetreinstallesurdesterminauxmobiles.Ilsagitdunebasededonnesgratuiteetparfaitementadaptepourledveloppementdapplicationsautonomes.Ilestpossibledefaireparticipercetteditionunprocessusderplicationafindesynchroniserefficacementlesdonnesdelentrepriseaveccellesprsentessurleterminal.

    Cette dition est destine la gestion des donnes destination dun groupe de travail ou bien dun servicedelentreprise.Lesprocessusrelatifs lanalysedcisionnellenesontpasprsents,toutefoiscetteditionpermetdedfinirdesrapports.Aveccettedition,ilnestpaspossibledexploiterplusde4Godemmoirevive.

    Centresurlagestiondedonnes,cetteditionpermetdoffrirunmoteurdebasededonnesdestinationdessitesweb faiblecot.Lespossibilitsen termesdadministrationsont rduites.Les fonctionnalitsdcisionnelleset lacration de rapports ne sont pas disponibles sur cette dition. Cette dition peut participer un processus derplication,uniquemententantquabonn.

    2.Droulementdelinstallation

    Express

    Developer

    Compact3.5

    Workgroup

    Web

    - 2 - ENI Editions - All rigths reserved

  • Commepourdenombreuxproduitsleprocessusdinstallationsedrouleentroistempsbiendistincts:

    l Lanalysedelenvironnementet linstallationdecomposantsncessaireslabonneexcutionduprocessusdinstallation.

    l Leparamtragedesdiffrentscomposantsinstaller.

    l Linstallationdescomposantsslectionnsaupralable.

    Leprocessusdinstallationcommenceparsassurerque laversion3.5duFramework .Netestbienprsentesur lesystmeetlancesoninstallationsicenestpaslecas.

    Par la suite, le premier cran permet de planifier au mieux linstallation de SQL Server 2008 en consultant ladocumentationrelativeauxdiffrentscaspossiblesdinstallation/migrationdedonnesetensassurantquelaplateformechoisieestprtepouruneinstallationdeSQLServer2008.Cedernierpointestassurparloutildanalysedeconfigurationsystme.LorsduprocessusdinstallationdunenouvelleinstancedeSQLServer2008,loutildanalysedeconfigurationsystmeestgalementexcut.Aprssaisiedelaclduproduitetacceptationducontratdelicence,lesfichiersdesupportduprogrammedinstallationdeSQLServersontinstalls.

    LeprocessusdinstallationdeSQLServer2008commenceparexcuteruncertainnombrederglesafindevaliderlaconfigurationdelaplateforme.

    Si ces rgles ne sont pas parfaitement respectes il en ressort soit des avertissements, soit des erreurs. UnavertissementpermetdeprciserquebienquilsoitpossibledinstalleruneinstanceSQLServer,certainscomposantsnepourrontpastreinstalls.

    a.Choixdescomposants

    Avantdeprocderauparamtragedelinstallation,SQLServerdemandedeslectionnerlescomposantsquivonttre installs sur le poste local. Cest ce niveau quil est possible de dfinir que seuls les outils doivent treinstalls,oubienlemoteurdebasededonnes.

    Ilsagitdeslectionnerfinementlescomposantsinstaller.Ilnesagitpasdecochertouteslesoptions,maisbiende slectionner les composants (client ou serveur) qui vont tre effectivement utiliss. En limitant le nombre decomposantinstalls,lasurfacedattaquedusystmeestrduiteetlonvitegalementunesurchargedusystmepardescomposantsnonutiliss.Bienentendu,sicertainscomposantsnontpastslectionnlorsdelinstallationinitialeetquelebesoinsenfaitsentirparlasuite,ilestpossibledelesajouter.

    - 3 - ENI Editions - All rigths reserved

  • Pourchacundescomposants,ilestpossiblededfinirsonemplacementphysiquesurledisquedur.Pouraccdercetcrandeconfiguration,ilfautslectionnerlebouton .

    b.Nomdelinstance

    MSSQLServeroffrelapossibilitdinstalleruneouplusieursinstancesdumoteurdebasededonnessurlemmeserveur.Chaqueinstanceestcompltementindpendantedesautresinstallessurlemmeserveuretellessontgres de faon autonome. Lorsque plusieurs instances sont prsentes sur le mme serveur, il est ncessairedutiliser le nom de chacune dentreelles pour les distinguer. La premire instance installe est gnralementlinstancepardfautetelleportelemmenomqueleserveursurlequelelleestinstalle.

    - 4 - ENI Editions - All rigths reserved

  • Les autres instances porteront alors un nom. Aprs le choix du nom de linstance installer, le processusdinstallationvrifielescapacitsdisquedusystme.

    Unmmeserveurnepeuthbergerquuneseuleinstancepardfaut.

    Chaqueinstanceestparfaitementidentifieparsonnom.Lenomdelinstancerespectelesrglessuivantes:

    l lenomdelinstanceestlimit16caractres

    l lesmajusculesetlesminusculesnesontpasdiffrencies

    l le nomde linstance ne peut pas contenir lesmots DEFAULT et MSSQLSERVER, ainsi que tout autremotrserv

    l lepremiercaractredunomdelinstancedoittreunelettre(AZ)oubienletraitdesoulignement(_)

    l lesautrescaractrespeuventtredeslettres,deschiffresoubienletraitdesoulignement(_)

    l lescaractresspciauxtelsquelespace,lantislash(\),lavirgule,lesdeuxpoints,lepointvirgule,lasimplecote,le"et"commercial(&)etlarobase(@)nesontpasautorissdanslenomduneinstance.

    c.LesservicesSQLServer

    Enfonctiondeschoixfaitslorsdelinstallation,ilpeutyavoirjusqu10servicesdecrs:

    l SQLServerDatabaseServices

    l AgentSQLServer

    l AnalysisServices

    l ReportingServices

    - 5 - ENI Editions - All rigths reserved

  • l IntegrationServices

    l Recherchedetexteintgral

    l NavigateurSQLServer

    l SQLServerActiveDirectoryHelper

    l SQLWriter.

    Certains de ces services sont lis linstance SQL Server installe. Cest par exemple le cas pour SQL ServerDatabaseServiceset lAgentSQLServer.CertainsservicescommeReportingServicessontdirectement lisdesutilisationsparticuliresdeSQLServer,icicestlecasdelaBusinessIntelligence.

    Dans le cadre de cet ouvrage, ce sont principalement les services SQL Server Database Services et lAgentSQLServerquivonttretudis.

    Leslogicielsctserveursexcutentsousformedeservices.Commetouslesservices,pouraccderauxressourcesdelamachine,ilsutilisentlecontexteduncomptedutilisateurdudomaine.PardfautlesservicessexcutentdanslecontexteducompteLocalSystem.Cecomptepermetdobtenirtouteslesressourcesdelamachinelocale,maisilnepermetpasdaccderdesressourcesdudomaine.

    Lesdeuxservices,quesontMSSQLServeretSQLServerAgentdoiventtrecapablesdaccderdesressourcesdudomaine,afindepouvoirutilisertouteslesfonctionnalitsproposesparSQLServer(gestiondestchesplanifies,rplication...).Lorsdelinstallationilestpossibledeprciserlecomptedutilisateurdudomainequiserautilispourlesdeuxservices.

    Pour simplifier les oprations de gestion, il est recommand dutiliser le mme compte Windows pour les deuxservices.

    LemmecomptepourragalementtreutilispourleservicedeRecherchedetexteintgral.

    SilentreprisecomporteplusieursserveursSQLdansplusieursdomaines,ilestprfrablequetouslesservicesSQLServer sexcutentenutilisantuncomptedutilisateurdedomaineportant lemmenometavec lemmemotdepasse.

    Service Nompourlinstancepardfaut Nompouruneinstancenomme

    MicrosoftSQLServer MSSQLSERVER MSSQL$NomInstance

    AgentSQLServer SQLSERVERAGENT SQLAgent$NomInstance

    CompteLocalSystmeetcomptedutilisateur

    - 6 - ENI Editions - All rigths reserved

  • Comptedouverturedesession

    Ilestpossibledeparamtrer lesservicesdeSQLServerdefaoncequilsdmarrentautomatiquement lorsdudmarragedeWindows.Lavantagedecetteoptionestquilnestpasncessairedouvrirunesessionsurleposteen tantquadministrateur,pour lancer lesservicesduSGBDR.LorsdechaquedmarragedeWindows, lesbasesgresparleSGBDRsontimmdiatementaccessibles.

    Ces deux options : Comptes de services et Dmarrage automatique de service peuvent tre fixes lors delinstallationdeSQLServeroubienunefoisqueSQLServerestinstallautraversdesoutilsdadministration.

    Dmarrageautomatiquedesservices

    - 7 - ENI Editions - All rigths reserved

  • d.Paramtresdeclassement

    LalanguepardfautdelinstancedeSQLServervaavoiruneincidencedirectesurleclassementslectionn.

    IlestpossibledinstallerSQLServerquellequesoitlalanguedfinieauniveaudusystmedexploitation.

    Ilfautveillernepasconfondrelapagedecodeetleclassement.

    La page de code est le systme de codage des caractres retenus. La page de code permet didentifier 256caractres diffrents. Compte tenu de la diversit des caractres utiliss dune langue lautre, il existe denombreusespagesdecode.Pourpouvoirprendreencomptedesdonnesexprimesdansdiffrenteslangues,ilestpossibledutiliser le systmeUNICODE.Ce systmede codagedes caractrespermetdutiliserdeuxoctetspourcoderchaquecaractre.LesystmeUnicodepermetdoncdecoder65536caractresdiffrentscequiestsuffisantpourcoderlatotalitdescaractresutilissparlesdiffrenteslanguesoccidentales.

    Cettesolutionaveclespagesdecodesnestacceptablequesilonstockedanslabasededonnesuniquementdesdonnes en provenance dune seule langue. Or, avec la monte en puissance des applications de commercelectronique,lesbasesdedonnesvontdeplusenplussouventcontenirdesinformations(commelesnom,prnometadressedesclients)enprovenancedediffrenteslangues.Pourpouvoirsupporterlescaractresspcifiqueschaquelangue,ilfaututiliserletypededonnesUnicode.LesdonnesdetypeUnicodesontconservesdanslestypesncharetnvarchar.Auniveaude lapplicationcliente,quipermet lasaisieet laffichagedes informations, letypededonnesUnicodedoitgalementtresupport.

    LespacerclamparletypededonnesUnicodeestdeuxfoisplusimportantquepourlesdonnesnonUnicode.Mais, ce lgerdsavantageest largementcompenspar le tempsgagn lorsde laffichagedes

    donnes sur leposte client. Eneffet, avec le typededonnesUnicode, il nestplusncessairede raliserunmappageentrelapagedecodeutilisedanslabasededonnespourstockerlinformation,etlapagedecodeutilisesurleposteclientpourafficherlinformation.

    Leclassementcorrespondunmodlebinairedereprsentationdesdonnesetquipermetdedfinirdesrglesdecomparaisons ainsi que des rgles de tris. Par exemple, le classement permet de dfinir sur la langue franaisecommentlescaractresaccentusdoiventtreprisencomptelorsdoprationdecomparaisonetdetris.

    Ilexistepardfauttroistypesdeclassements:

    l les classementsWindows qui sappuient sur les paramtres de langues dfinies au niveauWindows. Ensappuyantsurcetypedeclassement,lesordresdetris,decomparaisonssadaptentautomatiquementlalangueduserveur.

    - 8 - ENI Editions - All rigths reserved

  • l Lesclassementsbinairessont rputspour leur rapiditde traitement. Ilssontbasssur lecodebinaireutilispourenregistrerchaquecaractredinformationauformatunicodeounon.

    l Les classements SQL Server sont prsents pour assurer une compatibilit ascendante avec les versionsprcdentesdeSQLServer. Il est doncprfrabledenepas faire ce choixdans le cadredunenouvelleinstallation.

    Un classement doit ncessairement tre prcis lors de la cration de linstance, il deviendra le classement pardfautdelinstanceetserautilisparlesbasesdedonnesmaster,msdb,tempdb,modeletdistribution.

    Lors de la cration des bases de donnes utilisateurs, il sera possible de prciser un autre classement parlintermdiairedelaclauseCOLLATE.

    CommelesclassementscontrlentlordredetridesdonnesUnicodeetnonUnicode,ilnestpaspossiblededfinirdesordresdeclassementincompatibles.

    Fixerlesparamtresdeclassement

    Il est possible de connatre le classement adopt au niveau du serveur par lintermdiaire de la fonctionSERVERPROPERTY,commeillustrdanslexemplecidessous:

    - 9 - ENI Editions - All rigths reserved

  • Ilestgalementpossibledeconnatrelensembledesclassementsdisponiblessurleserveurenutilisantlafonction:fn_helpcollations().

    ATTENTION:lerespectdelacassesappliqueaussibienauxidentificateursquauxdonnes.Silonchoisitlordredetribinaireaveclerespectdelacasse,alorstouteslesrfrencesauxobjetsdoiventtreralises

    enutilisantlammecassequecellespcifielorsdelacrationdecesobjets.

    e.Modedauthentification

    LagestiondescomptesdutilisateurpeutsappuyerintgralementsurlescomptesdesutilisateursWindowsmaisilestaussipossiblededfinirdescomptesdutilisateuretdelesgrerintgralementauseindeSQLServer.Danscecas, il est ncessaire de spcifier le mot de passe de lutilisateur SQL Server qui possdera les privilgesdadministrateurSQLServer.Lorsquecelaestpossible,ilestprfrabledesappuyersurlascuritWindows.

    - 10 - ENI Editions - All rigths reserved

  • f.Configurationdumoteurdebasededonnes

    La configuration dumoteur de base de donnes permet de spcifier lemode scurit choisi, lemplacementdesfichiersdedonnes,ainsiquelactivationounondeloptionFILESTREAM.

    DepuislongletFILESTREAM,ilestpossibledactivercettefonctionnalit.

    Cesdiffrentschoixpeuventtremodifis/outrepasssparlasuitelorsdelaconfigurationduserveuroubienlorsdelagestiondesfichiersrelatifsunebasededonnes.

    - 11 - ENI Editions - All rigths reserved

  • Pourunescuritplusleveauniveaudesutilisateurs,ilestrecommanddesappuyersurlecontextedescuritWindowsetdinterdirelascuritSQLServer.Celavitera,parexemple,quedesdveloppeurscodentendurunnometunmotdepassedansuneapplicationoubiendansunfichierdeconfiguration.

    g.Synthseduprocessusdinstallation

    Le processus dinstallation propose ensuite la cration de rapport derreur qui est automatiquement envoy Microsoft.

    Lesrglesdinstallationsontvrifiesafindesassurerquerienneviendrabloquerleprocessusdinstallation.

    - 12 - ENI Editions - All rigths reserved

  • 3.Gestiondurseau

    SQLServerutilisedesbibliothquesrseauafindassurerlagestiondelatransmissiondespaquetsentreleserveuret le client. Ces bibliothques rseau, existant sous forme de DLL (Dynamic Link Library), procurent toutes lesoprationsncessairespourtablirledialogueentreleserveuretleclientmmesicesdeuxprocessussetrouventsurlemmeposte.

    CesbibliothquesrseausontutilisesparlapplicationvialemcanismeIPCouCommunicationInterProcessus.

    Unserveurpeuttrelcoute,simultanment,deplusieursbibliothquesetacceptedoncdesdemandesprovenantdeclientsdialoguantavecdesprotocolesrseaudiffrents.Laseuleobligationpourqueleserveurpuisserpondreauclientestquelabibliothquerseaucorrespondantcelleduclientdoittreinstallesurleserveur.

    Unfoisquelesbibliothquesrseausontinstallessurleserveur,ilfautencoreconfigurerlesnetlibraryafinqueleserveurpuisselesprendreencompte.

    LagestiondurseauentreleposteclientetleserveurpasseprincipalementparTCP/IP.Cestpourquoilagestiondeceprotocoleestinclusepardfautlorsdelinstallationduserveuroubiendesutilitairesclients.

    - 13 - ENI Editions - All rigths reserved

  • Bibliothquesdisponibles:

    Canauxnomms

    Les canauxnomms sont dsactivs pour toutes les ditions deSQLServer. Leur utilisation se limite au dialogueentrelesoutilsgraphiquesetleserviceSQLServersurleposteserveur.

    SocketsTCP/IP(pardfaut)

    CettenetlibrarypermetdutiliserlessocketsWindowstraditionnels.

    Pour pouvoir utiliser correctement la net library TCP/IP, il est important de prciser le numrode port auquel SQLServer rpond. Par dfaut, il sagit du port 1433, numro officiel attribu par lIANA (Internet Assigned NumberAuthority) Microsoft. Il est galement possible dutiliser un proxy. Dans ce cas cest ladresse du proxy qui seraprciselorsdelaconfigurationdelanetlibraryTCP/IP.

    Le port 1433 est utilisable par SQL Server si aucune autre application ou processus ne tente de lutilisersimultanment.

    Danscertainscas,commelaccsauserveurautraversdunparefeu,ilestconseilldutiliserunportlibreportantunnumroinfrieur1024.

    DanslecasoSQLServerestconfigurpourutiliserunportdynamique,lenumroduportestsusceptibledechangerchaquedmarragedeSQLServer.

    4.Modedelicence

    Avec lapparitiondesnouveauxoutilsdecommunicationetdespossibilitsnouvellesentermesdevirtualisationdeserveurainsique lesprocesseursmulticurs, lagestiondes licencesadvoluerpoursadaptercettenouvellerpartition.

    Ilexistetroismodesdegestiondeslicences:

    l Parutilisateur

    l Parposteutilispourtablirlaconnexion(PC,Agendalectronique...)

    l Parprocesseur.

    LutilisationdesmodesdelicenceparposteoubienparutilisateurncessiteunelicencedutilisationdumoteurSQLServer.

    Lemodedegestionde licenceexpos ici sappliqueauxditionsStandard,Entreprise,WebetWorkgroupdeSQLServer,cestdireauxditionsdeSQLServerdestinesunemiseenproduction.

    La gestion des licences est un lment sensible, et il convient de sassurer que la solution retenue estconformeauxrglesdictesparMicrosoft.Seuleunesynthsedecesrglesestprsentecidessous.

    Pour des raisons de scurit, il est recommand davoir un serveur de secours. Ce serveur de secours peut tresynchronisavec le serveuractif soitpar lintermdiaire des journauxde transaction, soit parcequil fait partieduprocessusdemiseenmiroir,soitcestunmembrenonactifducluster.partirdumomentoleserveurdesecoursestnonactif,cestdirequaucuneconnexionutilisateurnestfaitedessus(mmedesfinsdditionderapport),alorsceserveurdesecoursnencessitepasdelicenceSQLServer.Sileserveurprincipaltombeenpanne,leserveurdesecourspeutdeveniractifpendanttrentejoursentoutelgalit.

    Aveccemodedegestiondeslicences,cestchaqueprocesseurduserveurquisevoitattribuunelicencedutilisationdeSQLServer.Ainsi,unnombreillimitdutilisateurspeuventseconnecterauserveursansquilsoitncessairepoureuxdepossderune licenceSQLServer.Misaupointaudpartpour lesapplicationsdetypeInternet/intranet,cemodede licenceestgalementutilisableavecnimportequeltypedapplication.Sonprincipalavantagersidedansunegestionsimplifiedesdroitsdutilisation.

    Exemple:UneentreprisedisposedunserveurSQLet10stationsdetravaildoiventaccderceserveur.Lesstationsdetravailserpartissenten2groupesde5postes:travaildejourettravaildenuit.Lespostesdecesgroupesnepeuvent se connecter au server que pendant les horaires prciss et il ne peut pas y avoir de chevauchement.CombiendelicencesdaccsSQLServersontncessairesenmodedelicenceparprocesseur?

    Rponse:unelicencedaccsestncessaire.Elleestgreparleserveuretautoriselesstationsdetravailvenirse

    Licenceparprocesseur

    - 14 - ENI Editions - All rigths reserved

  • connectersimultanmentsurleserveurSQL.

    Modedelicenceparprocesseur

    Danslecasdunprocesseurmulticurs,SQLServernencessitequuneseulelicenceparprocesseurquelquesoitlenombredecursduprocesseur.

    Aveccemodedegestiondeslicences,chaqueutilisateurdoitdisposerdunelicencepourtravailleravecSQLServer.CemodedegestionvatreintressantsilesutilisateurspeuventseconnecterSQLServerparlintermdiairedediffrentsoutils.

    Lutilisationdun serveur dapplication qui gre ventuellement unpool de connexionsne rduit pas le nombredelicencesncessaires.Cestchaqueutilisateurphysiquequiancessitunelicencedaccs.

    UnemmelicencedaccsclientouCAL(ClientAccessLicense)permetdaccderdemultiplesserveurs.Leniveaudelicenceduclientdoitcorrespondreauserveurleplusexigeant.

    Danslemodedegestiondeslicencesparutilisateur,ilest,enplus,ncessairedacqurirunelicencedetypeserveurpourlamachinesurlaquellelinstanceSQLServerestinstalle.

    Les utilisateurs exprims ici sont des utilisateurs physiques. Ils peuvent, mme si cela nest pasrecommandable,utilisertouslemmeutilisateurdebasededonnes.

    Exemple

    Danslexemplesuivant,troisutilisateursdiffrentsseconnectentauserveur.Cettesolutionncessitedonctroislicencesdaccsclient.

    Licenceparutilisateur

    - 15 - ENI Editions - All rigths reserved

  • Attention,pourlditionWorkgroup,ilestpossibledacqurirdeslicencesdaccsquinautorisentquelaconnexiondesditionsWorkgroupdeSQLServer.

    Aveclalicenceparposte(ouparsige),cestchaquepriphriquequitablituneconnexionunserveurSQLServerquipossdeune licence.Cette licencenestpas lieaunombredutilisateursquipeuventtreamensutiliser leposte. Ainsi, si plusieurs utilisateurs se partagent le mme poste de travail, ils peuvent utiliser la mme licencedaccs.

    Munidecette licence,unpostepeutseconnecterplusieurs instancesSQLServer.La licencedoittrecompatibleaveclinstanceSQLServerlaplusexigeante.

    Danslemodedegestiondeslicencesparposte,ilest,enplus,ncessairedacqurirunelicencedetypeserveurpourlamachinesurlaquellelinstanceSQLServerestinstalle.

    Exemple

    Dans lexemplesuivant,deuxutilisateurssepartagent lemmepriphrique.Ilestdoncncessairededisposerdetroislicencesdaccsparposte.

    Licenceparposte

    - 16 - ENI Editions - All rigths reserved

  • 5.Excuterleprogrammedinstallation

    Leprogrammedinstallationsitusur leCDRomdeSQLServersexcuteautomatiquementdsque leCDRomestinsr dans la machine. Si la procdure dinstallation ne dmarre pas automatiquement, il convient de demanderlexcutionduprogrammeSETUP.EXEsitularacineduCDRom.

    Il est possible de raliser une installation automatique. Lavantage de cette procdure est de saisir les options installeruneseulefoisenmodeinteractifpuisdepouvoirexcutercetteinstallationsurplusieursautrespostessansavoirressaisirlesoptionschoisies.

    Toutes lesoptions relatives linstallationsontenregistresdansun fichierquiporte lextension ini.Ce fichierestcomposuniquementdelasection[Options].

    Pourdfinirsonproprefichierdinstallation, il fautprendrecommemodle lefichiertemplate.ini fournisur ledisquedinstallationdeSQLServer.

    Pourexcuteruneinstallationautomatique,ilfautexcuterleprogrammesetup.exeenluipassantenparamtrelenomcompletdufichieriniutiliser.

    setup.exe /settings nomCompletFichier.ini [/qn] [/qb]

    nomCompletFichier.ini

    Cheminabsoluetnomdufichierdeparamtrage.

    /qn

    Commutateurutiliserpourfaireuneinstallationcompltementsilencieuse(sansaucunebotededialogue).

    /qb

    Commutateurutiliserpoureffectueruneinstallationenaffichantuniquementlesbotesdedialoguequipermettentdesuivrelaprogressiondelinstallation.

    Mme si cette solution est hautement performante dans le cas o des installations multiples sont prvoir, ladfinition du fichier de configuration nest pas intuitive et il est donc ncessaire dinvestir un peu de temps pour

    Installationautomatique

    Syntaxe

    - 17 - ENI Editions - All rigths reserved

  • optimisersonutilisation.

    Toutes les installations automatiques sont composes de deux fichiers : un fichier de commande et un fichierdinitialisationetdinstallation.

    6.Lesbasesdexemples

    Lorsdelinstallationdumoteurdebasededonnes,aucunebasedexemplenestmiseenplacepardfaut.Eneffet,surunserveurdeproduction,lesbasesdexemplesnesontpasncessairesetnepeuventquintroduiredesfaillesdescurit.Toutefoissurunserveurdetestoubiendeformation,cesmmesexemplesprennenttoutleursens.

    La documentation en ligne sappuie sur la base AdventureWorks et ses diverses dclinaisons pour proposer desexemples illustrant les diffrentes instructions Transact SQL. Tous les exemples de code et de bases de donnsfournisparMicrosoftsontdisponiblessurcodeplex(http://codeplex.com/SqlServerSamples).CesexemplespermettentdillustrerdefaonprciselesdiffrentesfonctionnalitsoffertesparSQLServer.

    LabasededonnesNorthwindprsentedanslesversionsprcdentesdeSQLServeresttoujoursdisponibleetpeutainsitremiseenplacesurSQLServer2008.

    En fait,SQLServer2008neproposepasuneseulebasedexemplemaisplusieursenfonctionde lusageque lonsouhaite en faire. La base AdventureWorks2008 correspond une base OLTP (OnLine Transactional Processing)classiqueetcettebase illustre lesutilisationsclassiquesdunebasededonnes.LabaseAdventureWorksDW2008estquantelleunebasequi illustre ledatawarehouse (lentreprotdedonnes)et serautile lorsde tests sur laralisation,lagestionetlamaintenancedunentrepotdedonnesdanslecadreduneanalysedcisionnelle.LabaseAdventureWorksAS2008estquantelleaxesurAnalysisServices.Enfin,uneversionallgedelabaseOLTPestdisponiblesurlabaseAdventureWorkLT2008.

    Lorsdutlchargementdelabasedexemplesouhaite,cenestpasunscriptTransactSQLquiestenregistrsurledisque mais un fichier msi (SQL2008.AdventureWorks_OLTP_DB_v2008.x86.msi pour une plateforme 32 bits).Lexcutiondefichierpermetunemiseenplaceaisedelabasedexemple.

    Pardfaut,etpourpermettreunniveaudescuritlepluslevpossible,lecompteinvit(guest)nestpasdfini,ceci afindempcher lesconnexionsanonymes.Dans lecadredunserveurde test, ilpeutparfoistre intressantdautorisercesconnexionsanonymesafindepermettreauxutilisateursdaccderlibrementcettebasedexemple.

    - 18 - ENI Editions - All rigths reserved

  • Vrifierlinstallationetconfigurer

    1.Vrifierlinstallation

    Comme pour tout produit, il est important de sassurer que linstallation sest correctement excute et que leserveurestmaintenantoprationnel.

    a.Vrifierleslmentsinstalls

    Par lintermdiairede lexplorateur de fichier, il est possible de vrifier que larborescencequi regroupe tous lesfichiers ncessaires au bon fonctionnement dumoteur de base de donnes est bien dfinie. Si linstallationestexcuteaveclesparamtrespardfaut,alorscettearborescenceestc:\ProgramFiles\MicrosoftSQLServer\100.Les fichiers de donnes se trouvent quant eux dans le dossier c:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATAsaufsiuncheminautreatdfinilorsdelinstallation.

    Auniveaudes fichiers, il estpossibledeconsulter le journaldinstallation (summary.txt)qui estprsentdans ledossier c:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\LOG. La lecture de document savreprincipalementutilelorsqueleprocessusdexcutionsetermineenchecpourmieuxcernerlorigineduproblme.Ce fichier summary est gnr par chaque excution du programme dinstallation. Une nouvelle excution duprogrammedinstallationvarenommer(avechorodatage)lefichiersummaryexistantafindeconserverlatracedetouteslesinstallations.

    - 1 - ENI Editions - All rigths reserved

  • Danslecasocefichiersummary.txtnevousfournitpassuffisammentdinformation,ilestpossibledeconsulterlefichierSQLSetupxxx.cabsitudanslemmedossier.

    b.Vrifierledmarragedesservices

    Pourunusageclassiquedelabase,lesdeuxservicesMSSQLServeretSQLServerAgentdoiventtredmarrsetpositionnsendmarrageautomatique.LeserviceMSSQLServerreprsentelemoteurdelabasededonnesettantqueceservicenestpasdmarrilestimpossibledeseconnecterauserveuretdetravailleraveclesdonnesquilhberge.LeserviceSQLServerAgentprendsacharge,entreautres,lexcutionetlagestiondetouteslestchesplanifies.Pourgrerlesservices,ilestbiensrpossibledelefaireaveclesoutilspropossenstandardparWindows,maisSQLServerproposegalementsespropresoutils.

    - 2 - ENI Editions - All rigths reserved

  • Lesoutils

    SQLServerdisposedenombreuxoutils.Cesoutilssontcomplmentairesetchacundentreeuxestadaptuntypedeproblmeoudaction.Ilestimportantdepossderunevuedensemblesurlobjectifvisparchacundecesoutilsafindesavoirlequelemployerpourrsoudreunproblmebienprcis.Ilestpossibledefaireiciuneanalogieaveclebricolage,sivousnepossdezquuntournevisvousallezessayerdetout faireavec,alorsquaucontraire,sivotrecaisseoutilsestbiengarnieilyadefortechancedytrouverloutilquirpondexactementauproblmerencontr.PourSQLServerlapprocheestsimilaire.IlestbienentendupossibledefairequasimenttoutenTransactSQL,maisSQLServerproposedesoutilsgraphiquesautrespourpermettredesolutionnerdesproblmesbienprcis.Lutilisationdelaplupartdentreseuxvatredtailletoutaulongdecetouvrage.Unregardglobalpermetcependantdavoirunemeilleurevisiondelintrtprsentparchacun.

    Loutil de configurationde la surfacedexpositionprsentdansSQLServer2005disparat avecSQLServer2008maislesrglesgresparcetoutilseretrouventdanslesrglesproposesparSQLServer2008.En

    effet,SQLServer2008proposeuneadministrationbase sur les rgles.Cepoint est dtaill plus loin dans cetouvrage.

    IlsagitdeloutilprincipaldeSQLServeretilestdestinaussibienauxdveloppeursquauxadministrateurs.

    SQL Server Management Studio (SSMS) est la console graphique dadministration des instances SQL Server. Il estpossibledadministrerplusieursinstanceslocaleset/oudistantesdepuiscetoutil.SQLServerManagementStudioestgalementloutilprincipaldesdveloppeursdebasesdedonnesquivontlutiliserpourdfinirlesscriptsdecrationdestables,desvues,desprocdures,desfonctions,desdclencheursdebasededonnes

    Cetutilitairepeuttredmarrdepuislalignedecommandeparlintermdiairedelapplicationssms.

    Avec SQL Server 2008, SSMS intgre son lot de nouveauts dont la trs attendue autocompltion qui permet lecomplment automatique des mots cls lors de lcriture de requte. Cette autocompltion est active avec letraditionnelappuisurlestouches[Ctrl][Espace].Enplusdesmotscls,lesrfrencesauxtables,colonnes,nomdeprocdures,fonctionssontdisponiblesautraversdelautocompltion.Cettefonctionnalitpermetdegagneruntempsprcieuxlorsdelcrituredesscriptsenlimitantleserreursdesaisie.

    Afinde faciliter labonnegestiondesbasesdedonnes,SQLServerManagementStudiopropose lagnrationderapports.Cesrapportspermettentdavoirunevueglobaleetsynthtiquedunoudeplusieurslmentsdelabaseoudu serveur. SQL Server 2008 propose un certain nombre de rapports prdfinismais il est possible de dfinir sespropresrapportsencomplment.

    SQLServerManagementStudio

    GestionnairedeConfigurationSQLServer

    - 1 - ENI Editions - All rigths reserved

  • LegestionnairedeconfigurationdeSQLServerpermetdegrerlensembledeslmentsrelatifslaconfigurationdesservicesetdurseauctclientetctserver.

    Les diffrents services relatifs SQL Server peuvent tre administrs directement depuis cet outil. En plus desoprations classiques darrt et de dmarrage, il est possible de configurer le type de dmarrage (automatique,manuel,dsactiv)ainsiquelecomptedescuritauseinduquelleservicedoitsexcuter.

    Legestionnairedeconfigurationpermetgalementdegrerquelssont lesprotocolesprisenchargeauniveauduserveur. Il est galement possible ce niveaudemodifier les proprits spcifiques chaqueprotocole comme lenumroduportdcouteduprotocoleTCP/IP.

    Laconfigurationdesservices

    ConfigurationderseauSQLServer

    - 2 - ENI Editions - All rigths reserved

  • Cettefoiscilaconfigurationportesurlesoutilsclientinstallslocalementetplusexactementdedfinirprcismentlesprotocoles leurdispositionpourentrerencontactavec leserveur,maisaussi, lorsquecelasavrencessaire, lapossibilitdedfinirdesalias.Cette fonctionnalitestparticulirement intressante lorsque lenomduserveurestenregistrdansuneapplicationetquilnestpaspossibleoubienfaciledemodifiercetenregistrement.Ladfinitiondunaliaspermetderedirigertouteslesdemandesversunserveurdistinct.

    Lacapturede traceauniveaudumoteurdebasededonnespermetde tirerauclairdenombreuxproblmesdefonctionnementencomprenantmieuxcommentlesapplicatifsclienttravaillentaveclabase.

    Cetassistantpermet,entreautres,partirdunechargede travailcaptureavecSQLProfilerdevaliderounon lastructuredelabasededonnes.Enfindanalyse,lassistantvaconseillerlacration/suppressiondindexoubienlepartitionnementdetablesafindobtenirdesgainsdeperformances.

    SQLCmd est un utilitaire en ligne de commande qui permet dexcuter des scripts SQL. Cet outil va tre mis contributionlorsdelademandedexcutiondetchesadministrativesconcernantSQLServerpartirdeWindows.

    CetoutilpermetdeseconnecteruneinstancelocaleounondeSQLServer.LauthentificationcetteinstancepeuttreeffectueensappuyantsurlemodedescuritWindowsoubienSQLserver.

    SQLCmdpermetdexcuterdesscriptsSQLquecesoitdesinstructionsduDML(DataManipulationLanguage)ouduDDL(DataDefinitionLanguage).

    ConfigurationdeSQLNativeClient10.0

    SQLServerProfiler

    AssistantParamtragedebasededonnes

    SQLCmd

    osql

    - 3 - ENI Editions - All rigths reserved

  • Autreoutilenlignedecommandepourexcuterdesscripts.Cetoutilestmaintenupourdesraisonsdecompatibilitmaistantdonnquilsappuiesurlatechnologieodbc,ilestamendisparatre.

    Il sagitdunutilitaireen lignedecommandequipermetdextraire facilementet rapidementdesdonnesdepuis labaseversunfichieroubiendefaireloprationinverse.

    PermetdexcuterlenvironnementPowerShellspcifiqueSQLserver.

    Cetutilitairedediagnosticpeuttreexcutafindefournirdesinformationsauservicesupport.

    Cetteapplicationpermetdeprparerun fichier journalparsauvegardeoucopieavantde lenvoyerversuneautreinstanceSQLserver.

    Commesonnomlindique,cetutilitairepermetdecomparerlecontenudedeuxtables.Ilsavreparticulirementutilepourrsoudrelesproblmesdesynchronisationquipeuventapparatredanslecadredunerplicationdefusion.

    Pour tablir la premire connexion au serveur, plusieurs outils sont disponibles. Enmodegraphique, il convient delancerSQLServerManagementStudio.Aulancementdeloutil,lafentresuivantedeconnexionestprsente.

    Ilestpossibledtablirlaconnexiondepuisunoutilenlignedecommandecommesqlcmd.LcransuivantpermetdeseconnecterauserveurenutilisantlemodedescuritWindows.

    bcp

    sqlps

    sqldiag

    sqllogship

    Tablediff

    UtiliserunoutilclientpourseconnecterSQLServer

    - 4 - ENI Editions - All rigths reserved

  • - 5 - ENI Editions - All rigths reserved

  • Laconfiguration

    AvantdemettreenserviceleserveurSQL,enlerendantaccessiblepartouslesutilisateurs,ilestimportantderaliserun certain nombre doprationsde configurationdu serveur et des outils dadministration client afin de se prmunircontretouteoprationsensible.

    1.Lesservices

    Lesdiffrentscomposantsserveursexcutentsousformedeservice.Ilestdoncncessairequecesservicessoientdmarrs afin de pouvoir travailler avec le serveur. Ces services peuvent tre grs avec le gestionnaire deconfigurationdeSQLServermaisilspeuventgalementtregrscommetouslesservicesWindows.

    Depuislegestionnairedeconfiguration,ilestsimpledevisualiserltatduserviceainsiquedemodifiersesproprits.

    CommetouslesservicesWindows,ilspeuventtregrsdefaoncentraleauniveauduserveurWindows.

    Enfin,ilestpossibledagirsurcesservicesdirectementenlignedecommandesparlintermdiairedescommandesnetstartetnetstop.Lorsdundmarrageenlignedecommande,ilestpossibledoutrepasserlaconfigurationpardfautdu service en spcifiant la configuration utiliser sous forme de paramtres. Par exemple, loption m (net startmssqlserverm)permetdedmarrerleserveurenmodemonoutilisateur.

    Encasdeproblmededmarrage,ilestpossiblededmarrerleserveurSQLServerentantquapplicationlaidedelexcutablesqlservr.exe.Lutilisationdecetexcutablepermetdedmarrer linstanceennetenantpascomptedetouteslesoptionsdeconfigurationdfinies.

    Dmarr

    Lorsque le serviceMSSQLServerestdmarr, lesutilisateurspeuventtablirdenouvelles connexionset travailleravec les donnes hberges en base. Lorsque le service SQL Server Agent est dmarr, lensemble des tchesplanifies,desalertesetdelarplicationestactif.

    Suspendu

    Lesdiffrentstatsdesservices

    - 1 - ENI Editions - All rigths reserved

  • Si leserviceMSSQLServerestsuspendu,alorsplusaucunnouvelutilisateurnepeuttabliruneconnexionavec leserveur.Lesutilisateursencoursnesontpasconcernsparunetellemesure.LasuspensionduserviceSQLServerAgentdsactivelaplanificationdetouteslestchesainsiquelesalertes.

    Arrt

    Larrt du service MSSQL Server dsactive toutes les connexions utilisateur et dclenche un processus deCHECKPOINT(lensembledesdonnesvalidesprsentesenmmoiresontredescenduessurledisqueduretlepointde synchronisation est inscrit dans le journal). Un telmcanisme permet dassurer que le prochain dmarrage duserveur sera optimal. Cependant le service attend que toutes les instructions en cours soient termines avantdarrterleserveur.LarrtduserviceSQLServerAgentdsactivelexcutionplanifiedetouteslestchesainsiquelagestiondesalertes.

    2.SQLServerManagementStudio

    SQL Server Management Studio est loutil de gestion graphique de SQL Server qui permet de raliser les tchesadministrativesettouteslesoprationsdedveloppement.Lutilisationdummeoutilpermetderduireladistinctionentrelesdeuxgroupesdutilisateursquesontlesadministrateursetlesdveloppeurs.Enpartageantlemmeoutil,ilestplusfaciledeconnatrecequilestpossibledefaireduneautrefaon.

    Pour pouvoir naviguer dune instance lautre de SQL Server, ventuellement sur des serveurs diffrents, il estncessairedenregistrerchaqueserveurdanslaconsoledadministration.CetteinscriptionnestpasncessairepourlinstancelocaledeSQLServer,carlorsdelacrationdelinstance,lesinformationsrelativescetteinstanceonttajoutesdansSQLServerManagementStudio.

    LafentreServeursInscritspermetdeconnatrelalistedesserveursinscritsdansSQLServerManagementStudio.Sicettefentrenestpasvisible,ilestpossiblededemandersonaffichageparlemenuAffichageServeursinscritsouparleraccourciclavier[Ctrl][Alt]G.

    Lesserveurssontregroupspartype.Pourchaquetypeilestpossiblededfinirdesgroupesdeserveursafindelesregroupersurunautrecritre,parexemplelemplacementphysique.Lesgroupesdeserveursnontaucuneinfluencesurlinscriptionduserveur.IlestpossiblededplacerunserveurversungroupeenslectionnantloptionTchesDplacerversdepuislemenucontextuelassociauserveur.Paranalogie,ilestpossibledecomparerlesgroupesdeserveursdesdossiersetlesserveursinscritsdesfichiers.Lesfichiersnesontpasaffectslorsquilssontdplacsdundossierunautre.Ilenestdemmepourlesinscriptionsdeserveur.Lesdossierssontdfinispourregrouperlesfichierssuivantunecertainelogique,cestexactementlerlequejouentlesgroupesdeserveurs.

    Pour inscrire un nouveau serveur depuis SQL Server Management Studio, il faut slectionner loption NouvelleinscriptiondeserveurdepuislemenucontextuelassociaunudLocalServerGroupsdanslafentreServeursinscrits.

    Inscrireunserveur

    - 2 - ENI Editions - All rigths reserved

  • Labotededialoguequipermetderaliserlinscriptionestcomposededeuxonglets.Lepremierongletpermetdecomplter toutes les informations gnrales de linscription comme le nom du serveur, mais galement le typedauthentificationutilispourtablirlaconnexionsurleserveur.

    DepuisSSMSilestpossibledinscriredesserveursSQLServer,AnalysisServices,SQLServerCompactEdition,ReportingServicesetIntegrationServices.

    - 3 - ENI Editions - All rigths reserved

  • LeboutonTesterpermetdesassurerquelaconnexionchoisiepermetbiendetravaillersurleserveurslectionn.

    Ilestpossibledenregistrerunserveuravecunnomdiffrentdeceluiduserveur.

    Lesecondongletpermet,quantlui,defixerdesoptionsplusavancescommelabasededonnespardfautoubienletypedeprotocolerseauutilispourtablirlaconnexionavecleserveur.

    Pourdesraisonsdescurit,ilestprfrabledechoisirlorsquecelaestpossiblelemodedauthentificationWindows.

    Lors de linscription du serveur, il possible de slectionner certaines options comme le dlai dexpiration de laconnexion.

    Pourfaciliterletravaildeladministrateur,lesbasesdedonnessystmesontregroupesdansundossier.Ainsi,cesont les bases de donnes des utilisateurs qui sont visibles au premier plan. Cette sparation permet de ne pasencombrerlaconsoleparlesbasessystmequinontdimportancequepourSQLServer.

    - 4 - ENI Editions - All rigths reserved

  • Le mme type de sparation est effectu sur les bases entre les tables systme et les tables cres par lesutilisateurs.Cesontcesderniresquicontiennentlesinformationsetsurlesquellestousleseffortsdadministrationvontporter.

    3.Configurationduserveur

    Avantdouvrirplus librement laccsauserveuretdepermettreauxutilisateursdevenir travaillersur leserveur, ilconvientdesurveillerattentivementlesdeuxpointssuivants:

    Cetteproccupationconcerneuniquementlesserveursquisontconfigursenmodedescuritmixte.Sicechoixat fait au cours de linstallation, il faut sassurer que le mot de passe de ladministrateur SQL Server (sa) estsuffisammentfort.Sicenestpaslecas,ilestalorsncessairedelemodifier.

    Lors de linstallation de SQL Server deux utilisateurs sont prdfinis. Le premier est le groupe local desadministrateurs(utilisaveclascuritWindows),lesecondestlutilisateursa.CesdeuxutilisateursprsententdesdroitsdadministrateurduserveurSQL.LutilisateursasappuiesurlescuritSQLServeretsonmotdepasseatdemanddurantlaprocduredinstallation.

    Si lorsde linstallation,seul lemodedescuritWindowsatactiv,alors laconnexionsaestnonactive. Ilestncessaire de dfinir unmot de passe fort avant dactiver la connexion. Cependant la connexion ne pourra treutilisequesileserveurestconfigurenmodedescuritmixte.

    Deuxpossibilitsseprsentent.

    Motdepassedeladministrateur

    ParSQLServerManagementStudio

    - 5 - ENI Editions - All rigths reserved

  • Lesressourcesdelamachinesontgresdynamiquement.Cettegestionautomatiquedesressourcespermetdoffrirlesmeilleuresfonctionnalitspossiblesduserveurtoutenralisantunminimumdetchesadministratives.Toutefois,il

    ParletransactSQL

    Gestiondesressources

    - 6 - ENI Editions - All rigths reserved

  • peut parfois tre intressant de grer manuellement certaines ressources afin de raliser une optimisation delutilisationdesressourcesduserveur.QuelquesunsdecesrglagespeuventtreralissaumoyendeSQLServerManagementStudio.

    Pouraccderlatotalitdesparamtresduserveur,ilfaututiliserlaprocdurestockesp_configure.

    Si une option est modifie laide de la procdure sp_configure, elle ne prendra effet que lors du prochain

    - 7 - ENI Editions - All rigths reserved

  • redmarrageduserveurSQL.IlestpossibledappliquerlamodificationdefaonimmdiateenexcutantlacommandeRECONFIGUREWITHOVERRIDE.

    4.LagestionduprocessusSQLServer

    Pourlesystmedexploitation,chaqueapplicationsexcutesousformedeprocessus.Chaqueprocessusdisposedeces propres threads qui correspondent aux units de travail que le systme dexploitation doit soumettre auprocesseur.Aunprocessuscorrespondtoujoursaumoinsunthread.

    Chaque instanceSQLServer gre ellemme ses propres threads et gre leur synchronisation sans passer par lenoyauWindows.LobjectifdeSQLServerestderpondreefficacementetrapidementdesdemandesdemontesencharge brusque et soudaine. Afin dtre toujours disponible, SQL Server gre son propre pool de threads dont lenombremaximal est contrl par le paramtremaxworker threads. Avec la valeur par dfaut (0) SQLServer secharge de grer luimme ce nombre de threads mais il est galement possible de fixer le nombre maximum dethreads.Cesthreadsvontavoirpourobjectifdetraiterlesrequtesdesutilisateurs.Etantdonnquunutilisateurnetravaillepas100%deson tempssur le serveur, ildoit lireoubienmodifier lesdonnesavantdesoumettreunenouvellerequte,ilestprfrablepourSQLServerdepartagerunmmethreadentreplusieursutilisateurs.

    Lavaleurmaximaledeceparamtretaitde255avecSQLServer2000.Aussidanslecadredunemigrationdeserveurestilrecommanddepositionnercettevaleur0.

    Windowsproposegalementdegrerdesfibresquireprsententuneunitdetravailpluslgrequunthread.Ilestpossible de demander SQL Server de travailler avec ces fibres en lieu et place des threads. Ce paramtrageseffectueavecloptiondeconfigurationlightweightpooling.Cependant,lactivationdecetteoptionrendimpossiblelutilisationdecodeCLRdansSQLServer.Dautrepart, lactivationdecetteoptionsetraduiraparungainsignificatifde performance uniquement sur des serveurs massivement multiprocesseurs avec un taux dutilisation desprocesseursimportant.

    Dans le cadre dune architecturemultiprocesseurs et souventmultiinstance, il est possible laide de loptiondeconfigurationaffinitydespcifier lesprocesseursutiliserpourchaque instance.Cetteoptioncontientunevaleurbinaireouchaquebitreprsentelautorisation(1)ounon(0)dutiliserunprocesseur.

    Enfinpourordonnancerlexcutiondesdiffrentsthreads,Windowsaffectechaqueprocessusuneprioritvariantde1(lemoinsprioritaire)31(leplusprioritaire).Cettegestiondeprioritneconcernepaslesprocessussystme.Pardfaut,leprocessusSQLServerreoitunniveaudeprioritgal7,cestdireunprocessusnormal.Ilestpossiblededonnerunepriorit suprieurepar lintermdiairede loptionde configurationpriority boost.CetteoptionpeutsavrerparticulirementintressantelorsqueplusieursinstancesSQLServersexcutentsurlemmeposteetquelonsouhaiteenfavoriserune.

    5.Lagestiondelammoire

    - 8 - ENI Editions - All rigths reserved

  • Pardfaut,SQLServergredynamiquementlaquantitdemmoiredontilabesoin.Ilestdailleursrecommanddeconserver une gestion dynamique de la mmoire qui permet une rpartition optimale de la mmoire entre lesdiffrentsprocessussexcutantsurleserveur.

    Surplateforme32bits,SQLServerestcapabledexploiter lesextensionsAWE(AddressWindowingExtensions)afindadresserjusqu64GodeRAM.

    Ilestimportantqueleserveurdisposedunequantitdemmoiresuffisantecarcelapermetdeminimiserlenombrede lectures physique et de favoriser les lectures logiques. Plus ces dernires sont nombreuses,meilleurs sont lestempsderponseduserveur.Leratioentrecesdeuxtypesdelecturespeuttreobtenuautraversdelanalyseurdeperformances.CepointestabordauchapitreOptimisationAnalyseurdeperformances(MoniteurSystme).

    Pour permettre la gestion dynamiquede la quantit demmoire utilise,SQLServer sappuie sur lAPI (ApplicationProgrammingInterface)degestiondelammoiredeWindowsafindacqurirlemaximumdemmoiresanspourautantprivlesystmedelaquantitdemmoirequiluiestncessaire.

    Cettegestiondynamiquepeuttrelimiteenutilisantlesparamtresminservermemoryetmaxservermemory.LinstanceSQLServer,mmesielleestpeuutilise,conservera toujours laquantitdemmoirespcifieparminservermemory.Encasdechargedetravail,ilestpossibledacqurirdelammoire,sansjamaisdpasserlavaleurspcifieparmaxservermemory.

    LapriseenchargedelammoireAWEestpossibleenconfigurantleparamtreaweenableddelafaonsuivante:

    - 9 - ENI Editions - All rigths reserved

  • - 10 - ENI Editions - All rigths reserved

  • Leservicedetexteintgral

    Leservicederecherchedetexteintgralapourobjectifdamliorerlapertinenceetlavitessedesrequtesmenessurles champs qui contiennent des textes de grandes dimensions, cestdire sur des colonnes de type char, nchar,varchar, nvarchar, varbinary et xml. Dans le cas o la table possde de nombreuses lignes, une requte avecloprateurlikepeutprendreplusieursminutespoursexcuter.Silacolonnedisposedunindexdetexteintgral,alorslextractiondeslignesdemandequelquesinstants.

    Lamiseenplacedun telservice,utilispour lindexation, linterrogationet la synchronisationncessite laprsencedune cl unique (ou cl primaire) sur toutes les tables qui sont inscrites en vue dune recherche de texte intgral.Lindexdetexteintgralconserveunetracedetouslesmotssignificatifsquisontemploysainsiqueleuremplacement.Pourquelarecherchesoitpertinenteetrapide,seulslesmotschargsdesensdoiventtreindexs.Pouridentifierlesmotsdnusdesens,SQLServervautiliserune listedesmotsvides.Cette listeestconservedirectementdans labasededonnes.Toutefois,commecetteincorporationdelalisteestunespcificitdeSQLServer2008,danslecasdunemigrationdepuisSQLServer2005,cettelisteestconservesouslaformedefichierexterne.

    Cettelistedesmotsvidespeuttremodifielibrementafindyajouterlesmotsvidesspcifiquesuneentrepriseoubienuncontextedetravail.Parexemple,lenomdelasocitpeuttreconsidrcommeunmotvidecarilyadeforteschancesquilapparaissetrsfrquemment.

    Leservicederecherchedetexteintgralsappuiesurquelquestermesbienprcispourdcriresamiseenplaceetsonfonctionnement:

    l Index de texte intgral : stocke les informations relatives aux mots significatifs. Cest partir de cesinformationsquelesrecherchessonteffectues.

    l Cataloguedetexteintgral:associuneinstancedeSQLServer,lecataloguepeutcontenirde0nindex.

    l Analyseurlexical:enfonctiondelalangueetdessesrgleslexicales,lanalyseurlexicalvadfinirlesjetons.

    l Jeton:ilsagitdunechanedecaractres(biensouventdesmots)reprparlanalyseurlexical.

    l Gnrateurdeformesdrives:enfonctiondelalangue,legnrateurdeformesdrivespermetdegrerlesdiffrentesformesquepeutprendreunterme,commeparexemplesaconjugaisonpourunverbeoubiensonaccordpourunnomouunadjectif.

    l Filtre:cetlmentpermetdextraireletextepartirdunfichierspcifique(.docparexemple)etdenregistrercetextedansunecolonnedetypevarbinary(max)parexemple.

    l AnalyseouAlimentation:ilsagitduprocessusquipermetdinitialiseretdemaintenirjourlindex.

    l Motsvides:ilsagitdunelistedemotsquinesontpasporteursdesenspourlesrecherchesenmodetexte.Cette listedemotsest spcifiquechaque langue.Lobjectif recherchestde rduire lenombredemotstraiterenliminanttouslesmotsdeliaison,lesarticlesoudestermesdnusdesensparrapportaucontexte,parexemplelenomdelentrepriseoubienunacronymecourammentutilis.

    AvecSQLServer2008,leservicederecherchedetexteintgralestentirementsupportparleserviceMSSQLServer.

    Ceserviceestgalementdisponiblepourtouteslesbaseshbergessurleserveur.

    LactivationdelapriseenchargedeserviceauniveaudelabasenestplusdactualitavecSQLServer2008.

    Larecherchelinguistiquesurdesdonnestexte,nestpossiblequesurlestablesactivespourlarecherchedetexteintgral. La recherche linguistique, contrairement loprateur LIKE qui agit sur les caractres, effectue unecomparaisonsurlesmotsetsurlesexpressions.

    La mise en place dune recherche de texte intgral dans une base de donnes impose deffectuer les oprationssuivantes:

    l prciserlestablesetlescolonnesquidoiventtreinscritesdanslarecherchedetexteintgral.

    l raliser lindexation des donnes des colonnes inscrites et remplir les index de texte intgral avec lesmots

    Implmentation

    - 1 - ENI Editions - All rigths reserved

  • porteursdesens.

    l excuterlesrequtessurlescolonnesinscritespourlarecherchedetexteintgral.

    l sassurerquetouteslesmodificationseffectuessurcescolonnesonttpropagesjusquauxindex.

    Cesindexnesontpasremplisentempsrelmaispluttdefaonasynchronecar:

    l letempsdindexationestgnralementbeaucouppluslong.

    l lesrecherchesdetexteintgralsont,enrglegnrale,beaucoupmoinsprcisesquelesrecherchesenmodestandard.

    LamiseenplacesurservicedetexteintgralpeuttreeffectuedepuisSQLServerManagementStudiosousformedescriptsTransactSQL.

    Lestapesdetravailralisersont:

    l creruncatalogue

    l crerunouplusieursindexquiutilisentcecatalogue

    l dfinirlalistedesmotsvides.

    LamiseenplaceduservicedetexteintgralpeuttreralisesoitenmodegraphiquedepuisSQLServerManagementStudio, soit par lintermdiaire de scripts Transact SQL, soit par lintermdiaire de lassistant Indexation de texteintgral.Comptetenudufaitquelacrationdecetypedindexestuneoprationponctuelle,lutilisationdelassistantpeutsavrerfortutile.Cetassistantestaccessibledepuislemenucontextuelassocilatablesurlaquellelindexvatredfini.

    CettemiseenplacepeutgalementtreralisetapepartapeparlintermdiairedecommandesTransactSQL.

    Miseenplace

    - 2 - ENI Editions - All rigths reserved

  • 1.Lecatalogue

    Lorsde sa cration initiale lindexde texte intgral vatreun consommateur important auniveaudes lectures etcrituressurledisquedur.Ilestdoncncessairequelindexsoitdfinisurunsystmedefichierperformant.Lindexdetex