title: Formation territoriale de la France

text: Henri IV exclut néanmoins le Béarn ainsi que la Basse-Navarre de cet accord, considérant ces terres comme souveraines. Son fils Louis XIII incorpore finalement ces territoires en 1620 : à la tête d'une expédition militaire, il signe à Pau l'édit portant union du Béarn ainsi que de la Basse-Navarre au royaume de France.


title: Formation territoriale de la France

text: Ayant développé une forte identité, les provinces de Béarn, Bourgogne et Bretagne conserveront jusqu'à la Révolution leurs propres institutions à l'image du Languedoc : États et Parlement.


title: Formation territoriale de la France

text: La Maison d'Autriche manifeste une volonté de suprématie en Europe, présentant l'image du bastion militant du catholicisme face à l'émergence d'États protestants. La royauté française est d'autant plus inquiète que cette prétention rencontre des échos dans les milieux catholiques en France. Par ailleurs, les possessions des Habsbourg encerclent le territoire : Espagne, Pays-Bas, Franche-Comté et plus loin Milan.


title: Formation territoriale de la France

text: Henri IV a hérité d'un contentieux avec l'Espagne. Il est par sa mère l'héritier des rois de Navarre dépossédés par les rois d'Espagne, qui ne leur ont laissé que la Basse-Navarre. Désormais les rois de France porteront également le titre de roi de Navarre.


title: Formation territoriale de la France

text: Avant de reprendre la lutte, la guerre franco-savoyarde permet à Henri IV de mettre fin aux ambitions françaises en Italie. En 1600, il intervient contre le duc de Savoie, Charles-Emmanuel Ier, qui avait ourdi des complots contre lui. La France acquiert par le traité de Lyon (1601) la Bresse, le Bugey, Valromey et le pays de Gex, ce qui correspond à l’actuel Ain, en échange du marquisat de Saluces, dernière place détenue en Italie.


title: Formation territoriale de la France

text: Mais la perspective d'un conflit avec la Maison d'Autriche heurte une grande partie des catholiques de France, notamment à la cour Marie de Médicis et le duc d'Épernon. C'est dans ce contexte qu' est assassiné par un fanatique, Ravaillac.


title: Formation territoriale de la France

text: Le roi de France Louis XIII, conseillé par son premier ministre Richelieu, reprend l'offensive en 1635 dans le cadre de la guerre de Trente Ans, après avoir définitivement soumis La Rochelle (1629) et occupé le Duché de Lorraine (1632).


title: Formation territoriale de la France

text: Une première guerre décisive contre la Maison d'Autriche est marquée par la victoire de Rocroi en 1643. L'expansion à l'est a pour objectif de couper les lignes de communication de l'ennemi et d'établir le contact avec les alliés de la France en Allemagne.


title: Formation territoriale de la France

text: Les guerres contre se suivent les unes après les autres, et les traités successifs aboutissent à la mainmise de la France sur plusieurs provinces du Saint-Empire romain germanique.


title: Formation territoriale de la France

text: Les acquisitions de la France en Flandre (1662, 1668, 1678) et en Hainaut (1659, 1678) constitueront à partir de la Révolution le département du Nord.


title: Formation territoriale de la France

text: De 1680 à 1697, Louis XIV, enhardi par ses premiers succès, mène une politique unilatérale d'annexions et de réunions : on assiste même à la conquête temporaire du duché du Luxembourg de 1684 à 1697.


title: Formation territoriale de la France

text: Mais par le traité de Ryswick en 1697 qui conclut la guerre de la Ligue d'Augsbourg, il doit finalement renoncer à la plupart de ses prises. À l'est, la frontière est désormais délimitée par le Rhin : la France annexe la Basse-Alsace avec la ville de Strasbourg mais renonce à ses possessions sur la rive droite du Rhin (Freiburg, Breisach, Kehl).


title: Formation territoriale de la France

text: Du côté de l'Italie, La France avait préalablement restitué Pignerol, acquise en 1631, au duché de Savoie. Par le traité d'Utrecht, la France annexe en 1713 la vallée de l'Ubaye mais perd les vallées d’Oulx et Pragelas (versant piémontais des Alpes) à l'occasion d'un échange de territoires avec la Savoie.


title: Formation territoriale de la France

text: À la fin du règne de Louis XIV, un équilibre semble atteint. Les autres puissances européennes ne sont plus disposées à accepter une nouvelle expansion et sont prêtes à s'allier pour s'y opposer (ligue d'Augsbourg). Les frontières ont été repoussées loin de la capitale et sont de plus désormais défendues par un réseau de forteresses modernes construites par Vauban.


title: Formation territoriale de la France

text: Deux lignes de places fortes protègent la frontière du nord sur un front qui s'étend de Dunkerque à Charleville.Plus à l'est, des villes nouvelles fondées par Vauban prolongent au nord de la Lorraine la ligne de défense de la France des Ardennes à l'Alsace.


title: Formation territoriale de la France

text: Depuis 1632, la France a régulièrement occupé Le duché de Lorraine en période de guerre sans l’annexer : elle a même obtenu le contrôle d'un couloir le traversant pour relier la Champagne à l'Alsace. Le duc Charles IV de Lorraine, allié aux Maisons d’Autriche et de Bavière, a fait le choix d’une politique hostile à la France : lui-même puis son neveu Charles V ont exercé des commandements dans l’armée des Habsbourg d'Autriche.


title: Formation territoriale de la France

text: Ce n'est que plus tard que se présentent pour la France à la fois le motif décisif et l'occasion favorable de l'annexion : le mariage en 1736 de François de Lorraine avec l'archiduchesse Marie-Thérèse, l'héritière de la Maison d'Autriche, à un moment où cette dernière est affaiblie. Le traité de Vienne (1738) attribue la Lorraine à Louis XV qui la donne en viager à son beau-père, Stanislas Leszczyński : elle sera formellement annexée par la France en 1766 à la mort de ce dernier. En compensation, le duc reçoit le grand-duché de Toscane qui est alors vacant.


title: Formation territoriale de la France

text: Par animosité contre les Habsbourg, la France se laisse encore entraîner dans la guerre de Succession d'Autriche. Cependant, après la victoire de Fontenoy, Louis XV renonce à toutes ses nouvelles conquêtes dans les Pays-Bas : le traité d'Aix-la-Chapelle met fin en 1748 à la rivalité des monarchies française et autrichienne.


title: Formation territoriale de la France

text: À la veille de la Révolution, l'Hexagone est donc dessiné ; mais la complexité du cadre féodal qui définit l'organisation politique sous l'ancien régime explique la survivance d'un certain nombre d'enclaves étrangères, tout particulièrement dans la zone d'expansion récente : Alsace, Franche-Comté et Lorraine. Des accords locaux simplifient les problèmes de souveraineté, telle La convention du premier juillet 1778 qui met un terme à l'indivision du territoire de Merzig et Saargau, la partie située à gauche de la Sarre revenant à la France.


title: Formation territoriale de la France

text: Au sud, Louis XV renforce la position de la France en Méditerranée. Par le traité de Versailles, la République de Gênes cède provisoirement l'administration de l'île de Corse (en pratique indépendante de facto depuis 1755) au Royaume de France, en échange d'une annulation de dette génoise. L'île est ensuite soumise militairement par les troupes de Louis XV lors de la bataille de Ponte-Novo en mai 1769 et ne sera jamais restituée aux Génois.


title: Formation territoriale de la France

text: C'est à la Révolution que la notion de territoire change fondamentalement. La France cesse d'être une juxtaposition de principautés, chacune d'elles ayant un lien de subordination particulier au roi qui en contrepartie garantit ses privilèges et ses droits. Ces privilèges sont abolis dans la célèbre "nuit du 4 août 1789", ce qui conduit notamment à l'annexion de la Provence. Le territoire est désormais considéré comme un tout indivisible dont dispose la nation, la collectivité souveraine des citoyens. Dans cette logique les provinces sont supprimées et le territoire est découpé en unités administratives dotées d'un statut juridique uniforme : les départements.


title: Formation territoriale de la France

text: Dans le même esprit sont supprimées les enclaves étrangères dans le royaume de France. La Convention nationale les rattache définitivement à la France :


title: Formation territoriale de la France

text: Un certain nombre d'autres enclaves en Alsace et en Lorraine sont annexées (1793), malgré les droits des princes possessionnés.


title: Formation territoriale de la France

text: L'instauration d'un régime révolutionnaire amène la plupart des monarchies européennes à se coaliser contre la France. Les succès militaires des armées de la Première République contribuent à considérablement agrandir le territoire national, Danton justifiant que « les limites de la France sont marquées par la nature, nous les atteindrons des quatre coins de l'horizon, du côté du Rhin, du côté de l'Océan, du côté des Pyrénées, du côté des Alpes. Là doivent finir les bornes de notre République. »


title: Formation territoriale de la France

text: La plupart des annexions effectuées à cette époque sont reconnues par les puissances européennes, à l'occasion du traité de Bâle (5 avril 1795) avec la Prusse, du traité de Lunéville (9 février 1801) avec l'Autriche et de la paix d'Amiens (25 mars 1802) avec le Royaume-Uni :


title: Formation territoriale de la France

text: Les nouveaux agrandissements sont principalement motivés par l'objectif de contrôler les côtes européennes, dans le cadre de la lutte contre le Royaume-Uni et du blocus commercial qui est imposé à celui-ci. Sont ainsi annexés :


title: Formation territoriale de la France

text: Par les deux traités de Paris, de 1814 (avant les Cent-Jours) et 1815 (après les Cent-Jours), toutes les conquêtes de la Révolution française et de l'Empire à quelques exceptions près, sont perdues et restituées à leurs anciens propriétaires. La France cède notamment au royaume de Sardaigne le département du Mont-Blanc, (actuelles Savoie et Haute-Savoie). Elle est pratiquement ramenée à ses frontières de 1790, mais elle conserve les territoires qui constituaient des enclaves, notamment le Comtat Venaissin avec Avignon, Mulhouse et Montbéliard.


title: Formation territoriale de la France

text: Les autres puissances européennes veillent à ce que la France ne puisse plus jamais prendre le contrôle de la rive gauche du Rhin :


title: Formation territoriale de la France

text: Plus au sud, la ville de Genève est définitivement intégrée dans la confédération suisse et la France doit céder six communes du canton de Gex pour assurer la continuité territoriale du nouveau canton suisse de Genève avec les autres cantons suisses : Collex-Bossy (avec Bellevue), Le Grand-Saconnex, Meyrin, Pregny, Vernier et Versoix.


title: Formation territoriale de la France

text: Par une déclaration commune de 1827 et une convention de 1829 entre la Prusse et la France, la Prusse cède à la France notamment les actuelles communes de Heining-lès-Bouzonville, Manderen, Merten et Villing.


title: Formation territoriale de la France

text: Comme le montre la carte ci-contre, les départements de l'est sont dans leurs limites antérieures au traité de Francfort (1871): la Meurthe n'est pas devenue la Meurthe-et-Moselle et le territoire de Belfort n'a pas été dissocié du Haut-Rhin. La France n'a pas encore intégré définitivement les Savoie et Haute-Savoie ainsi que Nice.


title: Formation territoriale de la France

text: Tant par la propagation de l'idéal révolutionnaire que par l'exercice de sa domination sur ses voisins, la France a attisé le besoin chez les peuples européens de s'identifier en tant que nation et de constituer leur territoire.


title: Formation territoriale de la France

text: Napoléon III souhaite remettre en cause les équilibres issus du Congrès de Vienne afin d’une part de rompre l’isolement de la France, d’autre part de redéfinir la carte politique de l’Europe suivant le principe de l’adhésion des nationalités à l’État de leur choix. Il répond donc positivement à la demande d’aide du Piémont-Sardaigne contre l’Autriche pour réunir les États italiens.


title: Formation territoriale de la France

text: Il accueille de même favorablement l’action de la Prusse pour réunir les États allemands. La politique de la Prusse affaiblit cependant la position de la France face à un nouveau puissant voisin, comme le dénonce une partie de l'opinion publique française dont Adolphe Thiers se fait l'avocat. Et c'est d'ailleurs l'opinion publique manipulée par Bismarck qui va pousser le gouvernement français à engager une guerre contre la Prusse, entraînant l'adhésion des États allemands au deuxième Reich.


title: Formation territoriale de la France

text: À la suite de l'entrevue de Plombières, le , le ministre des États de Savoie Camillo Cavour promet à Napoléon III le duché de Savoie et le comté de Nice, en échange de l'appui français à la politique d'unification de l'Italie – Risorgimento – menée par le roi Victor-Emmanuel II de Savoie. Cette proposition est reprise dans un traité secret du .


title: Formation territoriale de la France

text: Après les victoires sur l'Autriche en 1859 (Magenta et Solferino), puis l'armistice de Villafranca, l'Autriche cède la Lombardie à la France, qui la rétrocède au Piémont et réclame la Savoie et Nice. Par le traité de Turin du , le roi Victor-Emmanuel II consent à céder le duché de Savoie et le comté de Nice, après consultation des populations : le roi délie alors ses sujets savoyards qui approuvent cette annexion par un plébiscite en avril 1860.


title: Formation territoriale de la France

text: À partir de cette date, le comté de Nice prend le nom de département des Alpes-Maritimes, mais avec d’autres limites que celui qui a déjà existé sous la Révolution. Il est divisé en un arrondissement de Nice qui constituait l’essentiel du comté, un arrondissement de Puget-Théniers et augmenté de l'arrondissement de Grasse détaché du département du Var.


title: Formation territoriale de la France

text: Dès 1848, Menton et Roquebrune, alors partie intégrante de la principauté de Monaco, se déclarent villes libres et sont occupées par une garnison sarde. À la suite de la cession par le royaume de Piémont-Sardaigne du duché de Savoie et du comté de Nice à la France en 1860, les habitants de Roquebrune et de Menton optent par référendum pour leur rattachement à la France.


title: Formation territoriale de la France

text: Le , le prince Charles III et l'empereur Napoléon III signent à Paris un traité par lequel moyennant une somme de quatre millions de francs, le prince renonce à perpétuité à tous ses droits directs ou indirects sur ces deux communes.


title: Formation territoriale de la France

text: Les sujets originaires de Menton et de Roquebrune ou domiciliés dans ces communes, qui entendent conserver la nationalité de Monaco, jouissent alors, pendant un an à partir de l'échange des ratifications du traité, de la faculté de transporter leur domicile dans la principauté et de s'y fixer ; en ce cas, leur ancienne nationalité sera maintenue.


title: Formation territoriale de la France

text: En 1867, Napoléon III propose au roi Guillaume III des Pays-Bas l'achat du grand-duché de Luxembourg contre une somme de 5 millions de florins. L'offre est accueillie favorablement mais le roi désire avoir l'accord de la Prusse, qui s'y oppose fermement. La France recule et le traité de Londres entérine la souveraineté et la neutralité luxembourgeoise.


title: Formation territoriale de la France

text: La guerre franco allemande de 1870 scelle la réunification de l'Allemagne, dont les armées occupent le nord de la Loire à la suite de la capitulation des armées françaises à Sedan et Metz.


title: Formation territoriale de la France

text: En vertu du traité de Francfort du , l'Alsace (moins l'arrondissement de Belfort) et les territoires constituant l'actuel département de la Moselle sont annexés par l'Empire allemand.


title: Formation territoriale de la France

text: Ces territoires, qui représentaient , communes et , réintégrent la France après la Première Guerre mondiale en vertu de l'article 27 du Traité de Versailles du , imposé à l'Allemagne qui n'a pas participé à la négociation. La république de Weimar ratifie cependant en 1925 le traité de Locarno qui entérine la délimitation de la nouvelle frontière franco-allemande.


title: Formation territoriale de la France

text: L'Alsace et la Moselle sont à nouveau annexées et intégrées "de facto" au Troisième Reich nazi le , la conclusion d'un traité de paix définitif avec la France étant différée. Elles sont définitivement libérées en .


title: Formation territoriale de la France

text: En 1947, au traité de Paris, la France gagne environ , par cinq extensions du territoire national sur les départements des Alpes-Maritimes, des Hautes-Alpes et de la Savoie :


title: Formation territoriale de la France

text: Sous la Cinquième République est décidé un nouveau découpage du territoire en 27 régions, dont 22 en France métropolitaine. Ces dernières sont dans un certain nombre de cas définies à partir des anciennes provinces. Cependant d'autres sont nouvellement créées autour de grandes métropoles : Rhône-Alpes avec pour capitale Lyon, Midi-Pyrénées (Toulouse), Pays de la Loire (Nantes).


title: Formation territoriale de la France

text: La taille de certaines de ces régions est parfois estimée trop petite. À la suite des recommandations d'un comité animé par Édouard Balladur, la loi de réforme des collectivités de 2010 autorise le regroupement des collectivités locales par consensus. En novembre 2014, Manuel Valls fait adopter par le parlement un nouveau découpage du territoire métropolitain par regroupement des régions existantes :


title: Formation territoriale de la France

text: Par ailleurs la loi permet le développement des formules pragmatiques d'intercommunalité qui sont effectivement de plus en plus nombreuses.


title: Discographie de Mylène Farmer

text: Mylène Farmer est l’interprète de 12 albums studio, 7 albums "Live", 4 "Best of" et 2 compilations de "Remixes".


title: Discographie de Mylène Farmer

text: Chanteuse française ayant vendu le plus de disques depuis 1984 (plus de 30 millions), elle est également celle qui détient le record du nombre de disques de diamant, et la seule artiste en ayant obtenu sur différentes.


title: Discographie de Mylène Farmer

text: Ce tableau indique les positions atteintes par les rééditions 45 tours et Maxi 45 tours depuis , en comparaison avec les positions atteintes par les éditions originales.


title: Discographie de Mylène Farmer

text: La plupart des faces B de Mylène Farmer correspondent à des versions différentes de la chanson faisant office de single (remix, instrumental...), mais il est arrivé parfois que ces faces B soient des chansons inédites :


title: Discographie de Mylène Farmer

text: Outre Laurent Boutonnat qui a composé la musique de la plupart de ses chansons, Mylène Farmer a collaboré avec :


title: Discographie de Mylène Farmer

text: Les apparitions des chansons de Mylène Farmer sur des compilations sont assez rares pour être remarquées, et sont souvent associées à une cause.


title: Saison 12 de Doctor Who

text: Cet article présente les épisodes de la douzième saison de la seconde série télévisée britannique Doctor Who. Elle est la deuxième du Treizième Docteur, interprétée par l'actrice britannique Jodie Whittaker.


title: Saison 12 de Doctor Who

text: Le tournage de la saison débute en , pour une diffusion en . Elle est la deuxième à être dirigée par Chris Chibnall en tant que scénariste principal et producteur exécutif. Elle est également la douzième saison à être diffusée après la reprise du programme en 2005 et est la trente-huitième saison au total.


title: Saison 12 de Doctor Who

text: Bradley Walsh, Mandip Gill et Tosin Cole font également leur retours pour jouer respectivement Graham O'Brien, Yasmin Khan et Ryan Sinclair.


title: Saison 12 de Doctor Who

text: A travers l'espace et le temps, les temps sombres arrivent avec la révélation de la destruction de Gallifrey, un nouveau Docteur et un mystérieux .


title: Saison 12 de Doctor Who

text: Chris Chibnall est de retour en tant que showrunner de la série, après le départ de Steven Moffat en 2017. Ed Hime, qui a écrit l'avant-dernier épisode de la saison 11, "De l'autre côté", est l'auteur d'un unique scénario pour cette saison. Le , l’entièreté de l'équipe d'écriture et de production est révélée : Ed Hime n'est pas le seul à revenir, c'est aussi le cas de Vinay Patel, qui avait écrit "Les Démons du Pendjab", ainsi que de Pete McTighe, qui était à l'origine de "Kerblam !" Trois nouveaux scénaristes feront leurs débuts dans "Doctor Who" : Nina Metivier, Maxine Alderton et Charlene James.


title: Saison 12 de Doctor Who

text: Le créateur des costumes, Ray Holman, annonce en que la douzième saison est en pré-production. Le , la BBC confirme qu'elle est bien en production. Elle est divisée en cinq blocs de deux épisodes Jamie Stone, qui a précédemment réalisé le mini-épisode du cinquantième anniversaire "The Last Day", réalise le premier bloc, qui comprend les premier et cinquième épisodes de la série. Lee Haven Jones réalise les deuxième et troisième épisodes du deuxième bloc, Nida Manzoor réalise le troisième bloc, Emma Sullivan le quatrième bloc et Stone le cinquième bloc, soit les épisodes neuf et dix.


title: Saison 12 de Doctor Who

text: Le , la BBC a posté sur les réseaux sociaux une première image de production montrant le Treizième Docteur face à un Judoon. Le , la BBC diffuse la première bande-annonce de cette saison.


title: Saison 12 de Doctor Who

text: La saison 12 est attendue pour début 2020 sur la chaîne britannique BBC One. Le , il est annoncé qu'une bande-annonce pour la saison 12 sera diffusée le , à l'occasion du anniversaire de la série. Le , la BBC confirme le début de saison pour le .


title: Saison 12 de Doctor Who

text: France Televisions annonce le la sortie des sept premiers épisodes de la saison en version originale sous-titrée à partir du , sur la plateforme en ligne france.tv. Les trois derniers seront mis en ligne après la diffusion anglaise. Le compte Twitter France TV annonce dans la foulée la production de la VF pour une diffusion au printemps 2020. La diffusion de la VF est finalement repoussée à une date indéterminée en raison de la pandémie de Covid-19. Elle a finalement commencé à être diffusée dès le sur France TV.


title: Saison 12 de Doctor Who

text: L'ouverture en deux parties de la saison intitulée Spyfall a été très bien reçue, les critiques comme "RadioTimes" saluant la performance de Sacha Dhawan dans le rôle du Maître. Plusieurs détracteurs à la saison précédente, éreintée pour sa critique sociale trop présente, notent une amélioration de la qualité de l'intrigue et des enjeux dramatiques. Le site "Polygon" estime que cette saison met , ajoutant que .


title: Saison 12 de Doctor Who

text: L'intégralité de la saison, même si mieux considéré que la précédente, a plutôt divisé les critiques dans son entièreté. À l'image de ses premières impressions, le site "RadioTimes" se veut très optimiste quant à l'avenir de la série, arguant qu'elle a fait un « grand bond en avant en termes d'échelle, de caractérisation et d'ambition ». "Gizmodo" évoque également "un futur très excitant" pour la série. Le site "DigitalSpy" se veut plus mesuré en notant que 49% de ses lecteurs étaient "très déçus" du final de la saison. En France, le site spécialisé en culture audiovisuelle et vidéoludique "BrainDamaged" est beaucoup moins enthousiaste en intitulant son article ""Doctor Who Saison 12 : Comment ruiner la mythologie de la série"", mettant en avant des "retours inexpliqués", "un fan-service", un manque d'émotion et une "écriture déséquilibrée".


title: Microsoft SQL Server

text: Microsoft SQL Server est un système de gestion de base de données (SGBD) en langage SQL incorporant entre autres un SGBDR (SGBD relationnel ») développé et commercialisé par la société Microsoft. Il fonctionne sous les OS Windows et Linux (depuis ), mais il est possible de le lancer sur Mac OS via Docker, car il en existe une version en téléchargement sur le site de Microsoft.


title: Microsoft SQL Server

text: Bien qu'il ait été initialement codéveloppé par Sybase et Microsoft, Ashton-Tate a également été associé à sa première version, sortie en 1989. Cette version est sortie sur les plates-formes Unix et OS/2. Depuis, Microsoft a porté ce système de base de données sous Windows.


title: Microsoft SQL Server

text: Lors de sa création, Sybase SQL Server hérite des principes du moteur Ingres développé à l'origine par l'université de Berkeley.


title: Microsoft SQL Server

text: En 1994, le partenariat entre les deux sociétés ayant été rompu, Microsoft a sorti la version 6.0 puis 6.5 seul, sur la plate-forme Windows NT.


title: Microsoft SQL Server

text: Microsoft SQL Server fait désormais partie de la stratégie technique de Microsoft en matière de base de données. Le moteur MSDE, qui est la base de SQL Server, doit à terme remplacer le moteur Jet (celui qui gère les bases Access) dans les applications telles que Exchange et Active Directory.


title: Microsoft SQL Server

text: La version 2005 de SQL Server est sortie le en même temps que Visual Studio 2005. La prise en charge de Windows Vista et de Windows Server 2008 n'a été ajoutée qu'à partir du Service Pack 2 (SP2). Actuellement le Service Pack 3 est disponible. L'optimiseur a été entièrement refait, tout comme le moteur relationnel.


title: Microsoft SQL Server

text: La version 2008 de SQL Server (nom de code Katmaï) est sortie en août 2008. La version mineure 2008 R2 est sortie en 2010.


title: Microsoft SQL Server

text: La version 2014 de SQL Server est sortie le avec un moteur « in memory » complémentaire au moteur relationnel.


title: Microsoft SQL Server

text: Lors du développement de la version 2005, le projet était à l'époque l'un des plus grands projets informatiques du monde. Plus de développeurs ont participé au codage du noyau et l'on estime que plus de autres personnes y ont travaillé de près ou de loin (Interactions homme-machine, documentation, traduction...).


title: Microsoft SQL Server

text: SQL Server se distingue de la concurrence par une grande richesse ne nécessitant aucune option payante supplémentaire dans la limite de la version choisie.


title: Microsoft SQL Server

text: Par rapport à ses concurrents que sont Oracle, MySQL ou PostgreSQL, SQL Server se distingue par le fait que c'est un SGBDR(Système de Gestion de Bases de Données Relationnelles) originellement multibase et multischéma. Il est possible de faire des requêtes nativement interbases. Par exemple la requête suivante lie deux tables de deux bases de données différentes :


title: Microsoft SQL Server

text: L'optimiseur étant capable de faire un plan de requête parfaitement optimisé même si la requête consulte des données de plusieurs bases...


title: Microsoft SQL Server

text: Bien que PostgreSQL soit multibase et multischéma, cette possibilité d'interrogation simultanée n'est pas native et il faut passer par le truchement de "dblink" qui interdit les jointures et donc toute possibilité d'optimisation... Oracle avec sa version 12 tente d'intégrer ce même concept de multibase (appelé multi-tenant) mais souffre du même problème que PostgreSQL. MySQL est mono schéma, multibase.


title: Microsoft SQL Server

text: La souplesse de la gestion des schémas SQL est telle qu'il est possible de transférer un objet d'un schéma à l'autre par le simple biais d'une commande codice_1.


title: Microsoft SQL Server

text: Les propriétaires sont distincts des schémas et il est possible de transférer la propriété d'une base, d'un schéma ou d'un objet d'un utilisateur SQL à l'autre, par le biais de la commande codice_2.


title: Microsoft SQL Server

text: SQL Server fonctionne nativement de manière parallèle. Dès qu'une requête est estimée dépasser le seuil du coût à partir duquel un plan de requête peut être parallélisé, SQL Server récrit le plan en utilisant des algorithmes multi-threadés et si le nouveau plan s'avère moins couteux, la substitution a lieu de manière automatique. Cette fonctionnalité existe dans toutes les éditions et n'est pas un module payant à rajouter en sus comme c'est le cas d'Oracle.


title: Microsoft SQL Server

text: Les opérations de lecture et d'écriture physique bénéficient aussi du parallélisme systématiquement du fait que les opérations d'IO sont effectuées directement par SQL Server et non à travers la couche système comme c'est le cas de PostgreSQL ou MySQL.


title: Microsoft SQL Server

text: Dans la version Enterprise, le moteur est capable de compresser les données au niveau ligne ou page dans les tables comme dans les index. La compression des sauvegardes est disponible à partir de l'édition standard depuis la version 2008 R2.


title: Microsoft SQL Server

text: Depuis SQL Server 7 (1998), SQL Server permet de sauvegarder "base ouverte", sans interrompre le service des données et sans perturber l'activité des utilisateurs. Cette sauvegarde peut s'effectuer de manière globale, par groupe de fichiers, par fichiers ou par le biais du journal de transaction.


title: Microsoft SQL Server

text: Dans SQL Server, les contraintes d'unicité prennent en compte le marqueur NULL comme étant une valeur et par ce fait interdisent donc la présence de plusieurs NULL dans les colonnes d'une telle contrainte. Ceci n'est pas conforme à la norme SQL puisque le NULL étant une absence de valeur, l'unicité ne se pose pas. Il existe cependant un moyen simple de contourner ce problème, qui consiste à créer un index unique filtré qui concernera les données valuées.


title: Microsoft SQL Server

text: Comme le matricule doit être unique pour les valeurs connues, la création d'un index unique filtré sur les valeurs exprimées de la colonne matricule, permet de résoudre le problème :


title: Microsoft SQL Server

text: Dans les déclencheurs SQL Server (triggers) il est possible de mettre à jour la table cible de l'événement à l'origine de l'exécution du déclencheur, contrairement à de nombreuses bases qui interdisent cette possibilité (erreur de "table mutante" dans Oracle). Il faut se rappeler que c'est Sybase qui, à l'origine a inventé le concept de trigger en 1986, mettant ainsi pour la première fois du code exécutable dans une base de données relationnelle.


title: Microsoft SQL Server

text: Par exemple un déclencheur codice_3 sur une table peut modifier les données en instance de modification :


title: Microsoft SQL Server

text: Dans l'exemple ci-avant, les noms des personnes nouvellement insérées ou dont le nom est modifié est remis en majuscule.


title: Microsoft SQL Server

text: La réentrance pouvant conduire à la récursivité, différents paramétrages permettent de régler ce problème au niveau de la base, comme au niveau de l'instance.


title: Microsoft SQL Server

text: Contrairement à Oracle ou PostgreSQL où les vues matérialisées doivent la plupart du temps être rafraichies avant utilisation, les vues indexées de SQL Server sont toujours synchrones. De plus l'optimiseur est capable de substituer à la volée la vue indexée à tout ou partie de la requête (version Enterprise) ce qui est très pratique lorsque le DBA n'a pas accès au code des programmes clients (cas des applications d'éditeurs).


title: Microsoft SQL Server

text: Pour les applications conçues dans .net et utilisant le connecteur ADO, SQL Server effectue du pooling automatique. Le simple fait de distinguer deux chaines de connexion suffit à créer deux pools différents. Pour que le pooling soit efficace, il faut fermer les connexions, une fois le traitement informatique opéré.


title: Microsoft SQL Server

text: Par différents biais, SQL Server permet de gérer de manière centralisée un ensemble de serveur. Vous pouvez créer un serveur d'administration centralisée, et ajouter une liste de serveurs SQL de l'entreprise afin de lancer des requêtes envoyées simultanément sur tous les serveurs ou bien créer ou exécuter une même procédure sur tous les serveurs à la fois, ceci dans l'outil SSMS (SQL Server Management Studio)..


title: Microsoft SQL Server

text: De la même façon, le planificateur de tâche et gestionnaire d'alerte (l'Agent SQL) permet de définir des travaux multi-serveurs, comme la sauvegarde, la défragmentation des index le recalcul des statistiques ou la vérification d'intégrité physique des espaces de stockage.


title: Microsoft SQL Server

text: Le moteur OLTP de SQL Server est doté de très nombreuses fonctionnalités qu'il serait difficile de toutes énumérer. En voici quelques-unes qui font la différence avec des SGBD plus légers comme MySQL ou PostgreSQL...


title: Microsoft SQL Server

text: SQL Server est doté d'un moteur "In Memory" depuis la version 2014. Les tables et index peuvent être totalement en mémoire (structure et données : data and schema) ou persistantes au niveau de la structure (data only). Les procédures, dans des limites bien définies, peuvent être compilées en mode natif, plutôt qu'interprétées. Les mises à jour restent transactionnées, sans pour autant qu'il soit besoin d'écrire dans les fichiers du journal de transactions (versionnage "in memory"), Cela permet des améliorations très sensibles de performance pour des traitements de calculs complexes portant sur des volumes conséquents de données. Un exemple typique est le calcul des performances financières des cours de bourses en temps réel.


title: Microsoft SQL Server

text: SQL Server a été le premier avec la version 2005 a introduire l'opérateur d'intra-jointure codice_4 afin de faciliter la récupération des données encapsulées dans une table virtuelle d'une colonne de table, comme c'est le cas lorsque l'on utilise une fonction table dans une requête dont un des arguments vient d'une des tables de la requête, ou encore lorsque l'on tabularise du XML. L'opérateur codice_4 doit être précédé du mot clef codice_6 ou codice_7 afin d'en définir le comportement. Avec codice_6 si l'argument est NULL, les lignes concernées sont supprimées du résultat tandis qu'avec codice_7 elles sont préservées.


title: Microsoft SQL Server

text: L'opérateur codice_4 est voisin de l'opérateur codice_11 de la norme SQL, mais sa syntaxe plus étendue permet des opérations que codice_11 ne peut pas réaliser. Oracle vient récemment d'introduire cet opérateur dans sa version 12.1 (2014).


title: Microsoft SQL Server

text: Dans cet exemple, on utilise la fonction table sys.dm_exec_query_plan, qui restitue le plan d’exécution, à partir du "handle" de plan fournit par l'argument "plan_handle" présent dans la vue sys.dm_exec_query_stats. Cette requête permet de connaître les 10 requêtes ayant consommé le plus de temps CPU depuis le démarrage de l'instance.


title: Microsoft SQL Server

text: SQL Server dispose d'une des plus riches collections de collations ( en version 2014), permettant de piloter 101 langues parmi lesquelles, outre le français, on trouve le Breton et le Corse ! Les collations permettent d'effectuer des recherches en tenant compte ou non de la casse (majuscules, minuscules - CS/CI), des accents et autres caractères diacritiques (accents, cédille, ligatures... - AS/AI), de la largeur du caractères (2 = ? - WS) ou des différents types de kana (katakana et hiragana du japonais - KS), ou bien encore d'effectuer des comparaisons binaires tenant compte ou non du code hexadécimal. Les collations étant totalement indépendantes des jeux de caractères (jeux Iso_1) bien qu'elles permettent de les simuler (ASCII, UNICODE, UTF16, EBCDIC...). Le support des collations étant fourni à quatre niveaux : serveur (1), base (2), colonne de table ou de vue (3) et enfin prédicat (4) manipulant des chaines de caractères et tri des colonnes textuelles dans les requêtes.


title: Microsoft SQL Server

text: Dans l'exemple suivant, on recherche un nom de connexion avec une collation "lâche" (sans tenir compte de la casse ou des accents) et le mot de passe avec une collation "serrée" (binaire) :


title: Microsoft SQL Server

text: Depuis la version 2005, SQL Server supporte le type XML (fragment) et permet de manipuler du XML via des requêtes XQuery/XPath. Une colonne de type XML peut être typée via une collection de schéma XML (XSD - Xml Schema Definition). L'exemple ci après montre la création d'une collection de schéma XML à un seul élément, puis la création d'une table avec une colonne XML typée avec cette collection de schéma :


title: Microsoft SQL Server

text: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:company="http://www.exemple.com/entreprise"


title: Microsoft SQL Server

text: -- création d'une table qui possède une colonne de type XML dont les données doivent se conformer au schéma ci avant


title: Microsoft SQL Server

text: Une requête SELECT d'extraction peut générer du XML en sortie au lieu d'un résultat tabulaire, via la clause Transact-SQL "FOR XML" pour laquelle il existe de nombreuses options de présentation. L'exemple ci-dessous permet de présenter une hiérarchie XML listant les contraintes d'une table sous forme d'éléments XML :


title: Microsoft SQL Server

text: Enfin, il est possible de manipuler directement des données XML dans les routines (venant par exemple de fichiers), en utilisant les fonctions et procédures OPENXML, sp_xml_preparedocument, sp_xml_removedocument...


title: Microsoft SQL Server

text: Depuis la version 2008, SQL Server intègre un SIG dans toutes les versions. Celui-ci permet de construire des objets géométriques (géométrie euclidienne) ou géographique (tenant compte de la courbure spatiale de l’écorce terrestre) à l'aide des types GEOMETRY et GEOGRAPHY (POINT, LINESTRING, POLYGON et combinaisons...). Il est basé sur le standard OGC, tout comme l'add-on spatial PostGIS de PostgreSQL. la version 2012 y a ajouté les objets courbes (CircularStrings, CompoundCurves, CurvePolygons...) et une meilleure précision des calculs (48 bits au lieu de 27 précédemment).


title: Microsoft SQL Server

text: Les index spatiaux permettent de rendre « cherchable » certaines méthodes telles que STContains, STDistance, STEquals, STIntersects, STOverlaps, STTouches, STWithin...


title: Microsoft SQL Server

text: Conformément à la norme SQL qui propose le DATALINK, SQL Server met en œuvre un outil similaire appelé FileStream permettant de stocker les fichiers à titre de fichiers dans le système d'exploitation, mais sous la responsabilité et le contrôle du serveur de bases de données (sérialisation, transactionnement, fiabilité, sécurité...). Ceci permet, entre autres, une sauvegarde intègre et synchrone des données relationnelles et non relationnelles, par exemple pour les images des produits d'un site web, comme les manuels électroniques PDF des machines d'un parc pour la maintenance. Cet outil est notablement utilisé pour la GED. Les fichiers électroniques pouvant faire l'objet d'une indexation textuelle.


title: Microsoft SQL Server

text: En complément et depuis la version 2012, SQL Server propose le concept de FileTable, qui n'est autre qu'une table virtuelle associée à un point d'entrée (répertoire) du système informatique, afin de permettre la gestion bidirectionnelle des fichiers électroniques : les fichiers manipulés par le langage SQL sont accessibles dans le système de fichiers de Windows et réciproquement : on peut insérer un fichier ou un répertoire dans la table par le biais d'une requête SQL et ce dernier sera vu dans l’arborescence système.


title: Microsoft SQL Server

text: L'outil de gestion de la connaissance de l'entreprise Sharepoint, utilise massivement ce concept pour gérer les documents électronique qui y sont déposés, et toutes les versions transitoires.


title: Microsoft SQL Server

text: Introduit avec la version 2008, la possibilité de créer des services Web natifs directement dans le serveur à l'aide de points de terminaison SOAP/HTTP, a été considérée comme obsolète dans la version 2008 R2 et retirée dans la version 2012. Néanmoins, SQL Server permet de créer, et utilise en interne, de nombreux points de terminaison pour des services particuliers tel que la mise en miroir des bases ou Service broker...


title: Microsoft SQL Server

text: L'objet de Service Broker est de fournir un outil de messagerie de base de données permettant de gérer des flux de données entre serveurs SQL de manière asynchrone, sérialisé et transactionnés par le biais de files d’attente qui sont des tables systèmes.


title: Microsoft SQL Server

text: Cela permet de créer des architecture SODA (Service Oriented Database Architecture) c'est-à-dire des bases de différentes instances qui dialoguent entre elles au niveau des données et non plus au niveau applicatif comme c'est le cas de SOA.


title: Microsoft SQL Server

text: Cela permet de faire des bases de données réparties collaboratives et réparties, du "grid computing", ou encore du WorkFlow, et par exemple de fournir une meilleure surface d'attaque pour les accès à très forte concurrence. Ce système se distingue de la réplication de données, par le fait que les informations sont principalement véhiculées sous forme XML (chiffré), sur la couche HTTP (Internet par exemple) par le biais de services Web et qu'il n'existe aucune obligation pour les bases et les tables de provenance et de destinations d'être identiques sur le plan de la structure.


title: Microsoft SQL Server

text: Un exemple intéressant est de remplacer des outils de messageries traditionnels tels que MQ Series, par un tel dispositif, bien plus fiable...


title: Microsoft SQL Server

text: Service Broker pouvant être utilisé via l'édition gratuite SQL Server Express, il a été utilisé notablement dans l'industrie pour gérer les informations de production de nombreuses machines d'un même parc afin de remonter ces données vers un serveur central.


title: Microsoft SQL Server

text: En sus des fonctionnalités pour le développeur, SQL Server présente de nombreux outils pour faciliter l'administration. En voici quelques-uns.


title: Microsoft SQL Server

text: À ne pas confondre avec la « haute disponibilité » qui consiste à dupliquer l'intégralité d'une base de données, SQL Server dispose de 8 modes de réplication de données (réplication de certaines informations de certaines tables venant de bases de données vers d'autres bases sur d'autres serveur) parmi lesquelles les modes transactionnel, point à point, par cliché ou de fusion. La réplication de, et vers Oracle est aussi supportée dans l'édition Enterprise.


title: Microsoft SQL Server

text: Les sites web de vente en ligne comme Cdiscount, Fnac.com ou Vente-privee.com utilisent la réplication, à la fois pour dissocier les données du FO (Front Office - essentiellement données du site web) et du BO (Back Office - gestion des factures, expéditions, stock...), mais aussi pour élargir la surface d'attaque afin d'absorber la charge des nombreux utilisateurs.


title: Microsoft SQL Server

text: La duplication des bases de données pour établir un système hautement résilient est assuré par quatre moyens différents :


title: Microsoft SQL Server

text: Il est possible de créer des règles de gestion et d'en planifier le fonctionnement. Il s'agit de vérifier un attribut d'une facette, via une règle qui peut être vérifiée de différentes manières. Quelques exemples:


title: Microsoft SQL Server

text: Ce procédé permet de créer une nouvelle base à partir d'une base existante qui représente les données à l'heure à laquelle le « cliché » a été lancé. Cette copie en, lecture seule, est effectuée instantanément quel que soit le volume de la base initiale. Cela permet par exemple :


title: Microsoft SQL Server

text: Présent depuis la version 2005 dans l'édition Enterprise, le partitionnement permet de découper tables et index suivant un critère de donnée de la table. la solution réutilisable est d'une grande simplicité et repose sur trois étapes :


title: Microsoft SQL Server

text: Une fois ces étapes accomplies la fonction et le schéma de partitionnement peuvent être réutilisées pour un autre objet à des fins d'alignement des partitions, comme ce peut être le cas d'une table des factures et de sa subordonnée table de détail ou de lignes de facture.


title: Microsoft SQL Server

text: Il est ensuite possible de gérer les partitions (déplacer, fusionner, découper...) à chaud à l'aide des commandes ALTER PARTITION FUNCTION... SPLIT RANGE / MERGE RANGE et ALTER TABLE... SWITCH PARTITION... qui rendent la main immédiatement et agissent à bas niveau, en tâche de fond, pour opérer les déplacements.


title: Microsoft SQL Server

text: Microsoft SQL Server fournit de nombreux assistants pour effectuer des tâches souvent ingrates comme l'import/export de données ou la sauvegarde/restauration. Mais s'il en est un bien utile au débutant, c'est l’outil de gestion des plans de maintenance qui permet en quelques clics de réaliser l'ensemble des tâches indispensable à la survie et au maintien des performances d'une base. Cet outil permet entre autres d'effectuer de manière récurrentes, les travaux suivants :


title: Microsoft SQL Server

text: Parce que la cohabitation sur un pied d'égalité de tous les utilisateurs d'une même base peut vite poser des problèmes, SQL Server intègre un gouverneur de ressources permettant d'allouer plus ou moins de ressources (RAM, CPU, disques...) à tel ou tel groupe d'utilisateurs. Le cas classique est le mélange des utilisateurs friands de tableaux de bords et états de toutes natures (par exemple les contrôleurs de gestion) très consommateurs de données, pénalisant la production des données des utilisateurs effectuant de la saisie unitaire...


title: Microsoft SQL Server

text: La messagerie de base de données est l'outil de gestion des envois de mails de SQL Server et repose sur Service Broker. Ce système permet de définir plusieurs profils d'envoi de mail (par exemple un pour les applications et l'autre pour l’administration) avec redondance possible des serveurs SMTP. L'envoi d'email est notablement utilisé par l'Agent SQL pour notifier parfois la réussite, mais souvent les échecs, des tâches planifiées (par exemple qu'une sauvegarde n'a pu se faire). La procédure msdb.dbo.sp_send_dbmail permet d'envoyer un mail, y compris avec pièces jointes, résultat de requête, contenu sous forme texte ou enrichi...


title: Microsoft SQL Server

text: SQL Server est riche en outils d'audit, que ce soit pour la sécurité, l'évolution des données ou les performances. Nous allons en décrire quelques-uns.


title: Microsoft SQL Server

text: Outre l'audit C2 en voie d'obsolescence pour être remplacé par les critères communs (ISO 15408), SQL Server offre la possibilité de tracer tout ce qui relève de la sécurité par le biais de l'audit de base de données, et toutes les actions possibles aussi bien au niveau serveur qu'au niveau d'une base de données particulière.


title: Microsoft SQL Server

text: Ce système est perfectionné au point qu'il est possible d'arrêter automatiquement le serveur en cas de défaillance du système d'audit, afin que des intrus ne profitent pas de cet état de dysfonctionnement de la traçabilité pour effectuer des manœuvres illicites !


title: Microsoft SQL Server

text: SQL Server dispose de deux modes permettant de tracer automatiquement l'évolution des données (INSERT, UPDATE, DELETE...) :


title: Microsoft SQL Server

text: CHANGE TRACKING oblige à scruter les tables de la base, mais soulage la volumétrie globale, tandis que CDC n'interroge pas les données de production afin de soulage le verrouillage.


title: Microsoft SQL Server

text: Ces deux modules sont généralement utilisés, soit l'un, soit l'autre, pour alimenter en mode différentiel de grands entrepôts de données ("data warehouses").


title: Microsoft SQL Server

text: La quantité d'outil est si nombreuse que beaucoup d'utilisateurs les ignorent, cherchant ailleurs dans des outils tiers - souvent payants - ce qu'ils ont déjà et gratuitement à portée de main.


title: Microsoft SQL Server

text: Ce sont des données système présentant des statistiques d'exécution du moteur SQL utilisable sous forme tabulaire par des pseudo vues (en fait la plupart du temps des fonctions internes retournant un état tabulaire des données collectées en mémoire). Cela permet d'établir différents diagnostics tels que :


title: Microsoft SQL Server

text: Basés sur les DMV, des rapports exploitent et présentent les données de manière synthétique. Ils sont disponibles à différents niveaux de l'arborescence de l'explorateur d'objet de SQL Server Management Studio, principalement, au niveau serveur (instance) et base.


title: Microsoft SQL Server

text: SQL Server publie de nombreux compteurs de performances requêtables directement en SQL ou analysables via l'analyseur de performances (perfmon.exe). Ces compteurs sont lisibles dans la vue sys.dm_os_performance_counters.


title: Microsoft SQL Server

text: SQL Server permet de mettre en place à travers l'Agent SQL des alertes sur des erreurs ou des métriques franchissant un seuil en interrogeant des données de compteurs de performance ou via WMI (Windows Management Instrumentation). Ce type d'alerte permet par exemple d'être informé par email de la saturation des journaux de transaction ou le remplissage des disques du serveur.


title: Microsoft SQL Server

text: Cet outil permet d'effectuer un diagnostic de pose d'index, de statistiques, de partitionnement ou de création de vues indexées quand on lui fournit un lot de requêtes.


title: Microsoft SQL Server

text: Le profiler SQL permet de renifler les requêtes avant et après exécution afin de fournir des métriques à des fins d'analyse essentiellement dans le but d'améliorer les performances (bien qu'il existe un mode "deprecated" permettant de voir le code obsolète de certaines applications).


title: Microsoft SQL Server

text: Ces données sont enregistrées dans une table ou un fichier (transférable dans une table) et doivent ensuite être analysées. Différents templates permettent des niveaux de finesses de scrutation plus ou moins grand.


title: Microsoft SQL Server

text: Le template "replay" permet de capturer une charge et ses métriques qui pourra être rejoué dans les mêmes conditions (simulation des différents utilisateurs en parallèle) à des fins de benchmark notamment pour des évolutions de versions de SQL Server, comme de hardware. Pour rejouer et comparer, il faut utiliser le package RML disponible gratuitement sur le site de Microsoft.


title: Microsoft SQL Server

text: En complément et futur remplaçant du profiler, XE permet une intrusion plus profonde que le profiler puisqu'il peut aller scruter presque toutes les métriques des opérations en mémoire, dans les threads ou les IO des disques (niveau système). Cela en sus de ce que fait déjà le profiler.


title: Microsoft SQL Server

text: Parce que les données des DMV sont par principe volatiles (n'existant qu'en mémoire, elles sont perdues à chaque redémarrage) ou limitées (dans un anneau mémoire) il a été décidé de créer cet outil qui enregistre cycliquement différentes données de différentes sources (la plupart venant de DMV) à des fins de rétro-analyse par le biais de rapports spécifiques. Pour ce faire, une base de données de collecte doit être créée et vous devez lancer les différents collecteurs prédéfinis, ou bien créer vos propres collecteurs.


title: Microsoft SQL Server

text: Ce dispositif permet de rejouer l'activité d'un serveur capturé par une trace du Profiler SQL, en simulant une activité proche de la réalité, par le biais d'une distribution des requêtes sur différents postes de travail le tout orchestré par un contrôleur. Le but étant par exemple de comparer la conformité d'exécution d'une application sur une nouvelle version de SQL Server ou lors d'un changement de machine (amélioration des performances).


title: Microsoft SQL Server

text: Pour les requêtes, SQL Server utilise le langage SQL dans un des dialectes les plus conformes à la norme SQL, Microsoft mettant un point d'honneur à corriger de version en version quelques errements du passé hérité du moteur Sybase. Le dialecte utilisé est le T-SQL (Transact-SQL), une implémentation de SQL qui prend en charge les procédures stockées, les fonctions utilisateurs ou UDF (User Defined Function) et les déclencheurs ("trigger"). Les langages XQuery et XPath sont utilisés à différents niveaux pour manipuler les données XML au sein même des requêtes SQL.


title: Microsoft SQL Server

text: Pour les transferts de données, SQL Server utilise le format TDS (Tabular Data Stream) qui a été implémenté dans d'autres bases de données (en particulier dans son homologue Sybase) et dont les spécifications sont publiques. Une implémentation open source d'un client TDS est disponible et constitue la base du client SQL Server du projet Mono : "FreeTDS".


title: Microsoft SQL Server

text: SQL Server étant doté de deux moteurs de bases de données, l'un relationnel et l'autre décisionnel, il est possible de faire des requêtes en langage MDX ou DMX spécifique à l'analyse de données pour les bases décisionnelles.


title: Microsoft SQL Server

text: Les langages R et Python ont été intégrés depuis la version 2016. Il est en outre possible de développer des routines SQL (UDF, procédures, déclencheurs) en utilisant un langage .net comme VB for .net ou C#.


title: Microsoft SQL Server

text: Dans le moteur relationnel de SQL Server, il est possible de définir des liens entre les tables par le biais de contraintes déclaratives de façon à garantir fortement l'intégrité des données entre table de référence et table fille. Ces liens d'intégrité peuvent être utilisés pour modifier ou supprimer en chaîne des lignes liées et supportent les règles d'évolution de type NO ACTION, CASCADE, SET DEFAULT et SET NULL.


title: Microsoft SQL Server

text: SQL Server est un SGBD transactionnel. Il est capable de préparer des modifications sur les données d'une base et de les valider ou de les annuler de façon atomique, c'est-à-dire en "tout ou rien". Cela garantit la cohérence et l'intégrité des informations stockées dans la base. Lors d'une transaction, les ensembles de données contenant les lignes de données en cours de modification par cette transaction sont verrouillés. Les autres utilisateurs doivent attendre la fin de la transaction pour pouvoir les modifier à nouveau. En revanche, les utilisateurs concurrent peuvent éventuellement lire les données, mêmes verrouillées en modification par une autre transaction, en fonction du niveau d'isolation choisit.


title: Microsoft SQL Server

text: Les verrouillages s'effectuent au niveau des lignes, pages, extensions, tables ou base de données. SQL Server ne verrouille que les ressources dont il a besoin (par défaut les lignes) et en fonction des besoins peut verrouiller à un niveau plus élevé (partition ou table). Cela évite aux utilisateurs d'attendre la fin d'une transaction pour mettre à jour des lignes de données qui n'ont pas été touchées par une modification et permet de diminuer la quantité de ressources consommées. Le verrouillage peut être pessimiste - les utilisateurs concurrents ne pourront accéder aux lignes de cette transaction - ou optimiste - dans ce cas les utilisateurs concurrent pourront accéder à la dernière version des lignes.


title: Microsoft SQL Server

text: Pour assurer ce fonctionnement, SQL Server permet de piloter le niveau d'isolation de six manières différentes. Les 4 niveaux prévus par la norme SQL


title: Microsoft SQL Server

text: Le niveau d'isolation étant dynamique, il peut donc changer au cours d'une même transaction. Le niveau d’isolation READ COMMITTED SNAPSHOT opère exactement à la manière d'Oracle ou de PostgreSQL en substituant au niveau d’isolation READ COMMITTED un versionnement des lignes pour un verrouillage optimiste.


title: Microsoft SQL Server

text: Contrairement à Oracle ou PostgreSQL, SQL Server transactionne même les ordres du DDL (CREATE, ALTER, DROP...) et du DCL (GRANT, REVOKE...).


title: Microsoft SQL Server

text: Il est possible de définir des points de contrôle de la transaction (commande SAVE TRANSACTION) afin de permettre une annulation partielle (ROLLBACK...).


title: Microsoft SQL Server

text: Les transactions sont enregistrées dans le journal de transaction ("REDO log"), les modifications des données sont immédiatement disponibles en mémoire et seront écrites dans les fichiers de données lors de points de contrôle (check point) lancés de manière périodique et asynchrone. Il est cependant possible de forcer un point de contrôle grâce à l'instruction CHECKPOINT.


title: Microsoft SQL Server

text: Le journal des transactions enregistre différemment les données et cela de trois manières différentes :


title: Microsoft SQL Server

text: Dans les modes complet et journalisé en bloc, il faut sauvegarder le journal de transaction périodiquement ("REDO log"), sous peine de le voir grossir indéfiniment. Et grâce à la sauvegarde transactionnelle il est possible de restaurer la base telle qu'elle était à n'importe quel point du temps à la seconde près ou à la transaction près (avec cependant quelques limites pour le mode journalisé en bloc).


title: Microsoft SQL Server

text: Il est possible d'imbriquer des transactions mais comme le concept de transaction est un état de la transaction, il n'est pas possible par ce biais de faire des annulations partielles. Il existe cependant d'autres moyens pour préserver une partie des données de l'annulation de la transaction, notamment par le biais des variables table.


title: Microsoft SQL Server

text: SQL Server supporte les transactions distribuées via DTC (Database Transaction Coordinator) qui implémente le "commit à deux phases" conformément au modèle XA.


title: Microsoft SQL Server

text: Les bases de données sont contenues physiquement dans des fichiers. Les fichiers portent généralement les extensions :


title: Microsoft SQL Server

text: Les fichiers sont divisés en blocs de 8196 octets appelés pages et organisées par ensembles de 8 pages consécutives appelées extensions. Jusqu'à la version 2000, les lignes étaient limitées à une taille maximale de 8060 octets (les colonnes de type LOBs (image, text, ntext) n'étant pas comptabilisées dans cette limite). Depuis la version 2005 il est possible de dépasser largement cette limite et d'aller jusqu'à 2 milliards d'octets. En revanche la taille utile de la page est de 8096 octets.


title: Microsoft SQL Server

text: Les bases de données ne peuvent fonctionner que lorsque tous les fichiers sont présents, mais la lecture est possible au cours de la restauration, via le concept de restauration fragmentaire (piecemeal).


title: Microsoft SQL Server

text: Les fichiers de données sont regroupés logiquement dans la base de données dans des groupes de fichiers qui constituent la destination des objets de la base (table, index...) Un groupe de fichier est considéré comme l'unité de stockage de toute table ou index et si ce groupe contient plusieurs fichiers, alors SQL Server répartit les données dans tous les fichiers (équivalent à un RAID 0), les opérations de lecture et d'écriture étant effectuées en parallèle dans les différentes fichiers, sous le contrôle direct du moteur de stockage de SQL Server. Ces fichiers et groupes de fichiers peuvent être sauvegardés de façon indépendante même s'il existe une interdépendance logique entre les objets d'un fichier et d'un autre (intégrité référentielle en particulier).


title: Microsoft SQL Server

text: Du fait de son aspect multibase, SQL Server dispose d'une sécurité à deux niveaux : niveau serveur, par le biais des comptes de connexion, et niveau base, par le biais des utilisateurs SQL.


title: Microsoft SQL Server

text: À partir de la version 2005, de profondes modifications de sécurité ont eu lieu dans la stratégie de SQL Server.


title: Microsoft SQL Server

text: En sus, la stratégie de sécurité porte aussi sur les fonctionnalités du serveur. Par exemple, la procédure stockée "xp_cmdshell" permettant de lancer des commandes systèmes est désactivée, et seul le DBA peut la réactiver. De même, dès ouverture du serveur, tous les fichiers de toutes les bases sont verrouillés en lecture comme en écriture afin d'empêcher tout accès indésirable.


title: Microsoft SQL Server

text: Les services exécutant chaque instance de SQL Server utilisent un compte de service (compte système pour l'exécution du service Windows). Ce dernier doit être choisi avec soin pour éviter d'éventuelles failles de sécurité sur le serveur. Celui-ci peut être : Service Système, Service Local (à partir de Windows 2003), Service Réseau (à partir de Windows 2003), compte utilisateur Windows local, compte utilisateur du domaine. Il est fortement conseillé de verrouiller les autorisations sur les comptes de service. Dans ce sens, et à partir de la version 2012, des comptes spécifiques aux autorisations très restreintes, sont créés lors de l'installation pour chacun des services de SQL Server (SQL Server, Agent SQL, SSAS, SSIS, SSRS...).


title: Microsoft SQL Server

text: Le compte de connexion permet de se connecter à une instance de SQL Server. À ces comptes, il convient de définir les privilèges qui s'appliquent au niveau serveur. Le privilège minimum étant le privilège "CONNECT". Un exemple de privilège de niveau serveur est la possibilité de créer toute base de données. Dans ce cas c'est le privilège CREATE ANY DATABASE.


title: Microsoft SQL Server

text: SQL Server s'appuie par défaut sur le système d'authentification de Windows (Kerberos ou Natif) de qui permet d'accéder à une instance SQL Server par le biais d'un groupe Windows ou d'un utilisateur Windows. Lors de la connexion à la base de données, l'utilisateur est identifié grâce à son login Windows. Il n'a donc pas besoin de donner son mot de passe lors de la phase d'authentification au serveur.


title: Microsoft SQL Server

text: Comme il existe des cas où l'utilisateur ne peut pas être identifié par son login Windows (utilisation de GNU/Linux, d'une page Web...) une méthode d'identification directe à SQL Server peut être mise en place. Elle doit l'être explicitement par l'administrateur de l'instance. Ceci suppose la création d'un nom de compte SQL et d'un mot de passe, et pour ce dernier on peut calquer la politique de conformation du mot de passe sur celle de Windows.


title: Microsoft SQL Server

text: Lors de l'accès à une ressource extérieure, le processus SQL Server agit de 3 manières différentes : par emprunt d'identité lorsque la couche Windows est correctement configurée, l'utilisateur ne peut accéder par l'intermédiaire de SQL Server qu'aux ressources auxquelles il aurait droit s'il y accédait directement ; par le compte de service de l'instance, lorsque l'utilisateur est sysadmin et pour certaines tâches ; il ne permet pas l'accès, dans tous les autres cas.


title: Microsoft SQL Server

text: Dans le cas des comptes de connexion SQL, et pour l'accès à une ressource extérieure (par exemple l'envoi d'un fax dans une procédure stockée) SQL Server ajoute la possibilité de créer des informations de connexion qui sont des comptes Windows enregistrés à cet effet. Les utilisateurs SQL peuvent donc être associés à ces comptes Windows pour l'accès aux ressources externes.


title: Microsoft SQL Server

text: Un compte de connexion peut être mappé à un utilisateur SQL soit dans une base particulière, soit dans plusieurs voire toutes. Le nom de compte de connexion et le nom d'utilisateur peuvent être différentes (et il vaut mieux qu'il le soit).


title: Microsoft SQL Server

text: Un utilisateur SQL dans une base peut être doté de privilèges qui l'autorisent à lancer différentes commandes sur divers objets. Les privilèges peuvent être établis directement sur un objet de la base ou bien sur un « conteneur » comme le schéma SQL ou la base tout entière.


title: Microsoft SQL Server

text: Exemple d'attribution de différents privilèges de niveau schéma SQL à un utilisateur nommé USR_BANQUE :


title: Microsoft SQL Server

text: SQL Server dispose de rôles préétablis au niveau serveur comme au niveau base. Il est même possible de créer ses propres rôles (nouveau pour le niveau serveur depuis 2012). Un rôle étant une collection de privilèges attribuable à un compte de connexion au niveau serveur ou à un utilisateur SQL quand ce rôle a été créé pour une base spécifique.


title: Microsoft SQL Server

text: Un schéma étant un conteneur d'objet dans une base, SQL Server permet de définir autant de schéma SQL qu'on le souhaite, ceci afin d'organiser les différents objets dans la base et surtout de gérer la sécurité au niveau de schéma de manière proactive. Ainsi la création de nouveaux objets, si ces objets sont placés dans les bons schémas, automatise la mise en place de la sécurité par héritage. Il n'y a donc aucune commande d'aucune sorte à passer d'un point de vue gestion de privilèges, pour que la sécurité soir immédiatement appliquée.


title: Microsoft SQL Server

text: Enfin, et contrairement à certains SGBDR (Oracle par exemple) il n'y a pas d'intimité ni de confusion entre un schéma SQL et son propriétaire (l'utilisateur qui l'a créé) ce qui par exemple facilite grandement la migration d'un objet d'un schéma à l'autre et garantit une meilleure sécurité.


title: Microsoft SQL Server

text: SQL Server permet de chiffrer les données des tables par différentes algorithmes intégrés à SQL Server. Les clefs de chiffrement et les certificats peuvent être importés depuis un fichier externe ou directement créés dans la base, SQL Server étant sa propre autorité de certification.


title: Microsoft SQL Server

text: Il existe cependant une troisième possibilité qui consiste à utiliser un boitier électronique de génération et conservation des clefs appelé HSM (Hardware Security Module), destiné à garantir l’inviolabilité des clefs. Ces équipements électroniques se placent sur le réseau et s’autodétruisent en cas de tentative d’accès illégal que ce soit physique ou logique.


title: Microsoft SQL Server

text: Une sauvegarde de la base incorpore toutes les clefs et certificats pour assurer chiffrement et déchiffrement. Mais la restauration d’une base sur un autre serveur que celui d’origine impose un déchiffrement suivi d’un rechiffrement. Les éléments composant l’architecture de chiffrement étant interdépendants les uns des autres depuis une clef secrète détenue au niveau de l’instance. Il est cependant nécessaire, pour procéder au chiffrement ou déchiffrement d’ouvrir la clef soit en possédant un certificat, soit en donnant le mot de passe.


title: Microsoft SQL Server

text: Enfin, SQL Server permet de chiffrer le stockage des données et non plus les données par le biais de TDE (Transparent Data Encryption). Les fichiers (journaux de transaction, données des tables et index) sont chiffrés au moment de l’écriture physique sur les disques et déchiffrés au moment de la lecture physique des disques vers la mémoire. Ainsi les données figurent en clair en mémoire, ce qui permet de conserver les performances tout en chiffrant l’intégralité de la base.


title: Microsoft SQL Server

text: La version 2016 à rajoutéle chiffrement de bout en bout, c'est-à-dire que le déchiffrement contrôlé par le serveur, peut s'effectuer au niveau de l'application et non plus dans la base.


title: Microsoft SQL Server

text: Les tables sont les objets qui contiennent effectivement les données dans la base. Elles sont de deux types :


title: Microsoft SQL Server

text: Une table peut contenir jusqu'à colonnes dont la somme des tailles n'excède pas 2 milliards d'octets. Les colonnes de types BLOBs (VARCHAR(max), NVARCHAR(max), VARBINARY(max)) étant stockées en dehors de la ligne.


title: Microsoft SQL Server

text: Les tables peuvent être dotées d'une clé primaire. La clé primaire est toujours indexée. D'autres contraintes sont également disponibles au niveau des tables telles que : les contraintes uniques (automatiquement indexées), les valeurs par défaut, les contraintes de vérification (check), les clés étrangères.


title: Microsoft SQL Server

text: Une vue est une requête nommée de la base de données. Elle est interrogée de la même façon qu'une table.


title: Microsoft SQL Server

text: Les données renvoyées par la vue sont reconstituées à partir des données contenues dans les tables à chaque appel de la vue (sauf pour les vues indexées qui stockent les résultats). SQL Server remplace le nom des vues dans la requête qui va être exécutée par leurs définitions, puis la requête ainsi obtenue est compilée, optimisée et exécutée par le moteur. Le plan compilé de la requête ainsi obtenue est ensuite stocké pour permettre la réutilisation lors d'un prochain appel. Comme SQL Server dispose d'une optimisation sémantique en plus de l'optimisation statistique, les branches des jointures inutiles à l'exploitation d'une vue sont systématiquement coupées pour optimisation, lorsque cela est possible.


title: Microsoft SQL Server

text: Dans certaines conditions, il est possible de mettre à jour les valeurs dans une vue. Voici des exemples de ces conditions:


title: Microsoft SQL Server

text: SQL Server implémente des types particuliers de vues qui sont les vues partitionnées et les vues indexées (équivalent des vues matérialisées synchrones d'Oracle).


title: Microsoft SQL Server

text: L'indexation dans SQL est assurée de quatre manières : l'indexation relationnelle, l'indexation verticale, l'indexation textuelle et l'indexation spécifique à certains types d'objets.


title: Microsoft SQL Server

text: Elle porte sur le contenu intégral des colonnes. Le mécanisme interne de ces index repose sur la notion d'arbre équilibré (B-Tree ou Balanced Tree en anglais).


title: Microsoft SQL Server

text: Il ne peut y avoir qu'un seul index clusterisé par table puisque ce type d'index est en fait un "tri" de la table. Les lignes de la table sont donc logiquement triées dans l'ordre de l'index clusterisé, ce qui explique qu'il n'y ne peut y en avoir qu'un seul. Autrement dit, l'index clusterisé étant un arbre-b, les feuilles de l'index sont directement les lignes dans la table.


title: Microsoft SQL Server

text: Les deux types d'index sont construits à partir d'une clé, composée d'un certain nombre de colonnes. Ils permettent de retrouver rapidement une donnée à partir de tout ou partie des colonnes de cette clé.


title: Microsoft SQL Server

text: Ainsi, si nous considérons une clé (A, B, C), on peut faire des recherches sur les champs (A), (A, B) et (A, B, C). Les champs sont considérés dans l'ordre de la clé ; il n'est donc pas possible de faire une recherche sur, par exemple (B, C) ou (C) avec cet index. En revanche une recherche sur (A, C) profitera aisément de l'indexation de la colonne A.


title: Microsoft SQL Server

text: Une table peut contenir 999 index. Chaque index peut contenir 16 colonnes dont la somme des tailles n'excède pas 900 octets. Les index contiennent en plus des données des colonnes de l'index un signet (bookmark) vers les données de la table. Celui-ci peut être soit un pointeur vers une ligne, soit une des clefs de l'index clusterisé (en anglais : "index clusterised").


title: Microsoft SQL Server

text: L'optimisateur de SQL Server choisit quel index utiliser. Il est possible qu'il n'utilise pas l'index que vous avez créé car le coût de la recherche "via" cet index peut être plus grand que de lire la table au complet. Pour faire ces choix, l'optimisateur utilise entre autres les statistiques de la table et la présence ou non de contraintes. Il est possible par contre de forcer l'optimisateur à utiliser un index avec la clause WITH(nom_index), cette pratique n'est toutefois pas recommandée.


title: Microsoft SQL Server

text: L'index est organisé en arbre-b. Ceci permet de classer plus rapidement les informations que s'il fallait les insérer dans une table séquentielle. Cette disposition étant très gourmande en ressources de stockage, la version 2005 de SQL Server permet de séparer les données de recherche et des données de traitement intégrées à l'index.


title: Microsoft SQL Server

text: SQL Server permet de créer des colonnes calculées, qui, si elles sont persistantes (PERSISTED), peuvent être indexées.


title: Microsoft SQL Server

text: Il n'y a pas d'autre structure d'index que l'arbre-b. Par exemple, on ne trouve pas d"'index bitmap", qui permettraient de faciliter les recherches sur des champs aux contenus peu variés, mais il suffit de créer une table de référence pour simuler un index bitmap. De la même manière il n'y a pas d'index en hachage. Mais il suffit de créer une colonne calculée de hachage (fonction CHECKSUM) et de l'indexer pour obtenir un effet similaire. Enfin, il n'est pas possible de créer un index sur expression, mais il suffit de créer une colonne calculée comportant une telle expression et de l'indexer pour obtenir le même effet.


title: Microsoft SQL Server

text: SQL Server permet de créer des index dit "verticaux" (columnstore index) sur un ensemble de colonnes permettant d’accéder à toutes les colonnes indexées sur le même plan. En effet, dans un index relationnel multicolonne, l'ordre de chaque colonne dans la clé de l'index n'autorise que certaines combinaisons de recherches. Ce n'est pas le cas avec l'indexation verticale, qui permet toutes combinaisons de recherches. Par exemple, avec la clef (A, B, C), il est possible de faire des recherches aussi bien sur (A), (B) ou (C), mais aussi sur toutes combinaisons de deux ou trois colonnes (A, B), (B, A), (A, C), (C, A), (B, C), (C, B), (A, B, C), (A, C, B), (B, A, C), (B, C, A), (C, A, B), (C, B, A).


title: Microsoft SQL Server

text: Dans la version 2012, ces index sont en lecture seule et donc essentiellement destinés aux bases de données de type DataWarehouse pour le décisionnel. Dans la version 2014, ces index sont modifiables.


title: Microsoft SQL Server

text: L'indexation textuelle (en fait un catalogue d'indexation) permet de faire des recherches en texte clair ("full text", conforme à la norme SQL avec le prédicat CONTAINS) ou à la manière de Google à l'aide du prédicat FREETEXT. Il est permis de rechercher différents mots dans un même document (texte des colonnes d'une table ou document électronique stocké dans une table) par égalité, début, proximité, mais aussi par forme fléchie (conjugaison, pluriels, féminin, etc.), synonymisation, extension (notamment pour les sigles)... ainsi qu'avec des poids relatifs (fonction table CONTAINSTABLE et FREETEXTTABLE).


title: Microsoft SQL Server

text: L'indexation textuelle peut porter sur des colonnes de type chaîne de caractères ou XML, mais aussi sur des fichiers électroniques qu'ils soient stockées directement en table (dans un BLOB) ou à titre de fichier par le biais du FILESTREAM ou dans un FILETABLE. SQL Server reconnait plus de 50 formats de fichier nativement et permet de rajouter de nombreux autres types de fichiers électroniques à l'aide des "ifilter".


title: Microsoft SQL Server

text: SQL Server supporte la plupart des langues et permet des recherches combinées multilingues. Pour cela des listes de "mots noirs" peuvent être établies pour chacune des langues indexées. De plus SQL Server indexe tous les mots sans exception y compris les mots noirs, là ou certains SGBDR se limitent à des mots ayant une longueur minimale (MySQL par exemple) ou excluent les mots noirs (PostgreSQL par exemple). Enfin, si la casse n'a pas d'importance pour l'indexation textuelle, l'utilisateur peut choisir s'il veut une indexation textuelle prenant en compte ou pas les caractères diacritiques, tels que les accents ou les ligatures.


title: Microsoft SQL Server

text: L'indexation textuelle permet aussi la recherche de métadonnées dans les fichiers électroniques, par exemple l'auteur d'un fichier Word.


title: Microsoft SQL Server

text: Avec la version 2012, SQL Server a rajouté l'indexation sémantique qui permet, comme son nom l'indique de faire des recherches sémantiques. Cette fonctionnalité nécessite l'ajout d'une base de données de traitement sémantique destinée à établir des statistiques sur les textes indexés. la recherche sémantique porte sur la signification des documents. Ceci permet l'extraction automatique de balises, la découverte de contenu connexe et la navigation hiérarchique à travers des documents ayant un contenu similaire à un texte de référence. Un exemple pratique consiste à interroger l'index de ressemblance de document pour identifier dans un lot de curriculum vitæ, ceux qui correspondent le mieux à une description de poste.


title: Microsoft SQL Server

text: SQL Server permet l'indexation de certains types de données objet, comme le XML (quatre types d'index), ou le spatial (types "geometry" et "geography"). Comme il est possible de rajouter vos propres objets, à condition de les décrire sous forme .NET, il est aussi possible de les indexer, à condition pour que vous vous arrangiez qu'ils soient « "byte ordered" » dans l'organisation de leur stockage.


title: Microsoft SQL Server

text: Il est possible de définir des procédures stockées codées en Transact-SQL comme en .NET (SQL CLR). Une procédure stockée est une suite d'instructions qui peut modifier les données de la base et encapsuler des transactions et qui renvoient une ou plusieurs valeurs.


title: Microsoft SQL Server

text: Les procédures stockées sous SQL Server peuvent prendre en paramètre et/ou retourner des entiers, des chaînes de caractère, des dates, des curseurs, des tables, des tables virtuelles et tout autre type défini dans SQL Server par défaut ou par les utilisateurs.


title: Microsoft SQL Server

text: Le déclencheur constitue du code stocké qui s'exécute après (AFTER) ou à la place (INSTEAD OF) d'une action particulière (insertion, modification, suppression) sur une table ou vue. Il est possible de coder autant de déclencheurs AFTER qu'on le souhaite sur une même action (INSERT, UPDATE ou DELETE) d'une même table ou vue. En cas de pluralité de déclencheurs sur une même action d'une même table, l'ordre des déclencheurs est arbitraire, sauf pour les 3 premiers que l'on peut imposer. Les déclencheurs INSTEAD OF doivent être uniques par événement/table.


title: Microsoft SQL Server

text: Deux tables virtuelles sont créées pour manipuler les données insérées, modifiées ou supprimées : "inserted" (pour l'insertion et la modification) et "deleted" (pour la suppression et la modification). Il est impossible de modifier le contenu de ces tables virtuelles. En revanche, SQL Server permet de modifier la table cible du déclencheur, comme d'annuler la transaction implicite qui a déclenché le trigger par annulation de la transaction (ROLLBACK).


title: Microsoft SQL Server

text: Le déclencheur particulier "INSTEAD OF" est utilisable lorsque l'on souhaite intercepter l'événement, ne pas le laisser se dérouler, mais coder une autre action. Ce type de déclencheur est utilisable par exemple dans le cadre d'un mapping relationnel/objet où l'on manipule des vues composées de multiples jointures où l'on souhaite que l'utilisateur puisse faire des mises à jour (INSERT, UPDATE, DELETE) directement sur ces vues. Dans ce cas, les données INSERT, UPDATE ou DELETE sont découpées pour chacune des tables en jeu et une série d'ordres spécifiques à chaque table à mettre à voir est lancée au travers une transaction.


title: Microsoft SQL Server

text: Depuis SQL Server 2005, la possibilité de créer des triggers DDL a été ajoutée. Ces déclencheurs DDL agissent après apparition des événements de type CREATE, ALTER ou DROP, et ces événements peuvent être interceptés au niveau du serveur (par exemple un CREATE DATABASE) ou au niveau de la base (par exemple un DROP TABLE). Pour obtenir des détails sur l'événement intercepté, un paquet de données XML (que l'on obtient par la fonction EVENTDATA()) donne de multiples précisions sur l'origine et la nature de l'événement. On y trouve même la requête SQL qui l'a déclenché.


title: Microsoft SQL Server

text: Un type particulier de déclencheur permet d'intercepter les connexions au serveur (trigger FOR LOGON).


title: Microsoft SQL Server

text: Depuis SQL Server 2000, il est possible de créer des fonctions en Transact SQL et depuis 2005 en .net (SQL CLR).


title: Microsoft SQL Server

text: Il existe cependant des restrictions quant aux fonctionnalités utilisables dans le corps d'une fonction. Il n'est pas possible d'utiliser de fonctions non déterministes et la fonction ne doit pas modifier des données ou des paramètres système de manière permanente ou durable. Ce qui interdit par exemple l'utilisation d'un INSERT sur une table ou l'utilisation de la fonction GETDATE().


title: Microsoft SQL Server

text: Les fonctions tables en ligne, agissant comme des vues paramétrées, peuvent mettre à jour les tables sous jacentes.


title: Microsoft SQL Server

text: Cet outil est fourni avec les versions payantes de SQL Server. Il permet de se connecter et d'administrer les différents moteurs SQL Server (SSRS, SSIS, SSAS et le moteur relationnel). Il permet pour le moteur relationnel de développer des scripts TSQL, avec la possibilité de regrouper l'ensemble de ceux-ci au sein d'une solution (comme sous Visual Studio). On peut aussi enregistrer ceux-ci grâce à Visual SourceSafe ou Team Foundation Server. Pour la version Express (gratuite) l'outil simplifié SQL Server Management Studio Express Edition (SSMSE) est disponible gratuitement.


title: Microsoft SQL Server

text: Tout comme SSMS, cet outil est fourni avec les versions payantes de SQL Server. Il s'agit d'une surcouche de l'outil générique de développement Microsoft Visual Studio adapté pour la création de projets BI (Analysis Services, Integration Services ou Reporting Services). Tous ces projets se retrouvent dans le groupe "Projets Business Intelligence".


title: Microsoft SQL Server

text: Cet outil permet de capturer l'activité d'une base de données. Il permet aux administrateurs de vérifier les éléments et les requêtes qui prennent du temps sur la base de données. Éventuellement, il est possible de rejouer la capture sur un serveur de test. Il a tendance à être progressivement remplacé par le système des "événements étendus" (eXtended Events).


title: Microsoft SQL Server

text: Plus d'une centaine d'outils périphériques sont disponibles, soit lors de l'installation (SQL Profiler, Database Tuning Advisor, Data Collector...), soit directement sur le site de Microsoft (SQLdiag, SQLioSim, SQL Server Best Practices Analyzer...), soit à travers le site communautaire opensource Codeplex (RML Utilities, PAL, Open DBDiff...).


title: Microsoft SQL Server

text: Une instance de SQL Server est une installation de tout ou partie des services SQL Server sur une machine Windows et peut héberger de nombreuses bases de données. Un même OS supportant jusqu'à 50 instances différentes (ce qui n'est pas conseillé en production).


title: Microsoft SQL Server

text: SQL Server 2014 n'est pas limité en nombre de cœurs ou de RAM, que par la capacité de Windows. Une base est cependant limitée à 524 pétaoctets (Po), mais comme SQL Server est multibase et peut héberger 32760 bases dans une même instance, la capacité globale du système permet de prendre en charge théoriquement de données. Avec 50 instances sur une même machine, cette limite théorique est repoussée à ...


title: Microsoft SQL Server

text: SQL Server existe en différentes éditions : CE (Compact Edition - solution embarquée pour les smartphones), Express (plusieurs déclinaisons - gratuite), Web (en mode SPLA : "Service Provider License Agreement" - auprès d'hébergeurs Web), Standard, BI et Enterprise - ceci pour la production. L'édition Developper (équivalente à l'édition Enterprise) est destinée au développement.


title: Microsoft SQL Server

text: Il s'agit du moteur de bases de données. À chaque instance de SQL Server correspond un service Windows Sql Server. Ce service peut être repéré dans les services Windows sous les noms MSSQL$Nom_instance pour les instances nommées et MSSQLServer pour l'instance par défaut.


title: Microsoft SQL Server

text: Chaque instance créée possède au départ 4 à 6 bases de données systèmes. Le moteur SQL Server s'appuie sur la base de données système master qui contient la définition des autres bases de données.


title: Microsoft SQL Server

text: Il s'agit de l'agent de maintenance de l'instance de SQL Server. À chaque instance de SQL Server correspond un service Windows Sql Server Agent. Ce service peut être repéré dans les services Windows sous les noms SQLAgent$Nom_instance pour les instances nommées et SQLAgent pour l'instance par défaut.


title: Microsoft SQL Server

text: Ce moteur permet de gérer les sauvegardes, les plans de maintenance, les travaux planifiés, la surveillance de la base, les alertes administratives...


title: Microsoft SQL Server

text: L'Agent a aussi comme rôle la surveillance du service de SQL Server et le déclenchement automatique du redémarrage de celui-ci en cas d'arrêt inattendu.


title: Microsoft SQL Server

text: C’est-à-dire les transactions entre plusieurs serveurs de transactions SQL Server, entre un serveur SQL Server et des serveurs de base de données autres, entre plusieurs sources de données différentes, qu'ils soient des moteurs de base de données ou de simples composants.


title: Microsoft SQL Server

text: Service apparu sous SQL Server 2000 permet de requêter régulièrement la base de données et en fonction de ces requêtes de notifier des groupes abonnés à ces évènements.


title: Microsoft SQL Server

text: Ce service n'est plus fourni en standard depuis SQL Server 2008. SQL Server nom de code Denali, apporte néanmoins une fonctionnalités similaire dans SQL Server Reporting Services et Sharepoint 2010, connu sous le nom d'Alerting.


title: Microsoft SQL Server

text: La plate-forme décisionnelle SQL Server se compose d'un ETL, apparu avec SQL 7, d'un moteur multidimensionnel, également apparu sous SQL 7 et d'un moteur de rapports, ajouté en 2004 sous SQL 2000.


title: Microsoft SQL Server

text: Avec la version SQL Server 2005, un studio de développement destiné au métier du décisionnel a été intégré dans Visual Studio 2005 : BI development Studio.


title: Microsoft SQL Server

text: SQL Server 2008 supporte de nouveau type de données primitives : le type géographique où intervient une projection (latitudes et les longitudes) et le type géométrique sans projection pour manipuler les données relatives aux points, aux lignes et aux polygones. Le premier logiciel compatible SQL Server a été le logiciel puis Mapinfo, Geomédia.


title: Microsoft SQL Server

text: Service apparu sous SQL Server 2005, il est le remplaçant de Data Transformation Services (DTS). L'ETL a été complètement reconstruit, et se positionne en concurrence des autres outils ETL professionnels du marché.


title: Microsoft SQL Server

text: L'objectif est l'intégration de l'entreprise par ses données. SQL Server Integration Services (SSIS) est une plate-forme complète d'intégration de données. SSIS, n'est pas un simple ETL. C’est une plate-forme complète d’intégration de données, offrant un certain nombre d’outils graphiques de développement et de gestion, de services, d’objets programmables et d’interfaces API (Application Programming Interfaces). SSIS contient un moteur de workflow prenant en charge une logique complexe et peut être utilisé pour un large éventail d’opérations de maintenance de base de données et d’opérations sophistiquées de transfert de données. L’architecture SSIS est essentiellement composée de deux parties : le moteur d’exécution de transformation de données, qui gère le flux de contrôle d’un package, et le moteur de flux de données ou moteur de pipeline de transformation de données, qui gère le flux des données à partir des sources de données, via les transformations et jusqu’aux cibles de destination.


title: Microsoft SQL Server

text: SQL Server Analysis Services (SSAS) est un service apparu sous SQL Server 7, connu à cette époque sous le nom de OLAP Services. Il permet de générer des cubes OLAP, données agrégées et multidimensionnelles. Il permet également d'implémenter des algorithmes de Data Mining.


title: Microsoft SQL Server

text: Ce service apparu sous SQL Server 2000 est un moteur de génération d'états. Deux services web le composent, l'un permettant son administration, l'autre la génération, l'abonnement, le rendu des rapports. Les rendus se font sous Excel, PDF, HTML, et Word (à partir de la version 2008).


title: Microsoft SQL Server

text: Apparue avec SQL Server 2008 R2, elle supportera jusqu'à 256 processeurs logiques, ainsi que la virtualisation illimitée et une quantité de mémoire illimitée.


title: Microsoft SQL Server

text: Elle supporte un nombre de processeurs et une taille de mémoire vive illimités (limités par le système d'exploitation).


title: Microsoft SQL Server

text: Il existe une version 32 bits (x86) et 2 versions 64 bits (ia64 et x64, x64 uniquement pour SQL Server 2005) et n'a pas de limite quant à la taille des bases de données.


title: Microsoft SQL Server

text: Les fonctionnalités pour le décisionnel sont toutes incluses de la génération d'états avec Reporting Services à l'utilisation de cubes OLAP avec Analysis Services en passant par le transfert de données avec Integration Services (SQL Server 2005) ou Data Transformation Services (SQL Server 7 & 2000).


title: Microsoft SQL Server

text: Il s'agit d'une édition pour les développeurs qui dispose des mêmes fonctionnalités que l'édition Entreprise. Cependant la licence contient des restrictions quant à son utilisation.


title: Microsoft SQL Server

text: La licence interdit une exploitation en production. Elle est exclusivement destinée à une utilisation en Test. Cependant il n'y a aucune restriction sur les produits disponibles.


title: Microsoft SQL Server

text: Elle supporte jusqu'à 4 processeurs et une taille de mémoire vive illimitée (limitée par le système d'exploitation).


title: Microsoft SQL Server

text: Il existe une version 32 bits (x86) et 2 versions 64 bits (ia64 et x64, les deux uniquement pour SQL Server 2005) et n'a pas de limite quant à la taille des bases de données.


title: Microsoft SQL Server

text: Les fonctionnalités pour le décisionnel sont toutes incluses de la génération d'états avec Reporting Services (pour SQL Server 2000, ce composant est à charger séparément) à l'utilisation de cubes OLAP avec Analysis Services en passant par le transfert de données avec Integration Services (SQL Server 2005) ou Data Transformation Services (SQL Server 7 & 2000).


title: Microsoft SQL Server

text: Pour le moment, elle n'existe qu'en version 32 bits et n'a pas de limite quant à la taille des bases de données.


title: Microsoft SQL Server

text: Inclus la majeure partie des fonctionnalités du moteur, dont la possibilité de participer à une réplication en tant qu'éditeur.


title: Microsoft SQL Server

text: Les fonctionnalités pour le décisionnel incluses se limitent à la génération d'états avec Reporting Services.


title: Microsoft SQL Server

text: Proche de l'édition Standard en termes de fonctionnalité, elle ne supporte cependant ni la mise en miroir, ni les composants décisionnels de SQL Server.


title: Microsoft SQL Server

text: Sa licence ne permet son utilisation que comme serveur de base de données pour un site ou service Web.


title: Microsoft SQL Server

text: Elle est disponible en abonnement mensuel spécialement pour les herbergeurs en plus d'être disponible plus classiquement à l'achat.


title: Microsoft SQL Server

text: Inclut la majeure partie des fonctionnalités du moteur, dont la possibilité de participer à une réplication en tant qu'abonné.


title: Microsoft SQL Server

text: En termes de licence, le fait de posséder une licence d'accès client (CAL) SQL Server suffit à utiliser cette édition.


title: Microsoft SQL Server

text: Similaire à SQL Server edition Express, avec cependant les limites de mémoire, de nombre de processeurs et de taille de base de données supprimés, elle est cependant utilisable que localement et ne peut héberger que des bases de données d'application Microsoft. Des produits tels que Sharepoint ou certaines fonctionnalités Active Directory de Windows s'en servent.


title: Microsoft SQL Server

text: Microsoft a édité une édition gratuite composée uniquement du moteur de base de données relationnel, bridé à d'espace disque ( dans la version 2008 R2). Elle permet, néanmoins de créer jusqu'à 32760 bases différentes soit plus de de données à partir de la version 2008 R2.


title: Microsoft SQL Server

text: Appelée auparavant : Pocket PC / Mobile / Everywhere Edition. Il s'agit d'une édition légère adaptée à l'utilisation sur des PDA ou smartphones munis de Windows Mobile.


title: Microsoft SQL Server

text: La version Compact (version 3.5), qui succède aux éditions Mobile s'ouvre elle aux postes de travail classiques à base de Windows.


title: Microsoft SQL Server

text: Les types de licence envisageable pour une utilisation de SQL Server derrière un frontal Web est soit la licence par processeur ou cœur soit le mode SPLA limité à l'édition Web.


title: Microsoft SQL Server

text: Une licence d'accès client est destinée à fournir des droits d'utilisation pour permettre aux utilisateurs ou aux appareils d'accéder au logiciel serveur. Cela signifie que chaque ordinateur ou utilisateur qui a besoin d'accéder au logiciel serveur a besoin d'un cal.


title: Microsoft SQL Server

text: Une CAL utilisateur donne accès à la fonction précitée à un utilisateur du réseau, ce qui signifie que cet utilisateur peut également accéder au réseau du serveur via d'autres appareils.


title: Microsoft SQL Server

text: Une CAL de périphérique donne accès un matériel, ce qui signifie que tous les utilisateurs de celui-ci peuvent lancer une session sur le serveur.


title: Microsoft SQL Server

text: Solution Microsoft pour l'EAI (Enterprise Application Integration) et l'intégration de données B2B (business-to-business).


title: Microsoft SQL Server

text: Solution globale de gestion de la connaissance d'entreprise (KB - Knowledge base) permettant la gestion de contenu (via site web et forum) et de documents électronique partagés, la recherche d'information, ainsi que la possibilité de créer des formulaires et la présentation de statistiques décisionnelles tel que tableaux de bord, indicateurs clef (KPI - Key Performance Indicator)...


title: Microsoft SQL Server

text: Est une forge logicielle permettant la gestion des code sources, des builds, le suivi des ressources, la planification des tâches...


title: Microsoft SQL Server

text: Système de gestion centralisée, de supervision et de maintenance du système informatique (serveurs, PCs, périphériques en ligne) et de l'infrastructure réseau.


title: Microsoft SQL Server

text: Service de distribution concernant les OS et applications Microsoft pour la mise à jour des différentes machines Windows d'un parc informatique (utilise la version Express gratuite)


title: Microsoft SQL Server

text: StreamInsight est une plate-forme prévue pour développer et déployer à grande échelle des applications de traitement des événements complexes (Complex Event Processing - CEP). Elle est basée sur deux composants essentiels : le StreamInsight Serveur pour la gestion de flux des données et StreamInsight Framework pour la création des interfaces.


title: Microsoft SQL Server

text: Très engagé dans ce mouvement, notamment par le biais de Hadoop, Microsoft propose différentes solutions pour gérer le big data.


title: Microsoft SQL Server

text: HDInsight est une solution Hadoop proposée sur le cloud Azure ou localement (à des fins de développement).


title: Microsoft SQL Server

text: Les outils Map/Reduce, Hive, Sqoop et le langage Pig facilite le transfert et la manipulation des données depuis SQL Server vers Hadoop. Un SDK basé sur le framework .NET permet d'écrire des batchs en utilisant Visual Studio. Une installation locale d’Hadoop destinée aux développeurs est disponible au travers de HDInsight Server.


title: Microsoft SQL Server

text: Polybase est un outil destiné à attaquer différentes sources de données relationnelles (SQL Server), décisionnelles (SQL Server Parallel Data Warehouse - PDW) ou encore big data, à travers différents processus comme Map Reduce ou MPP (Massive Parallèle Processive)


title: Chronologie des vaccins

text: L'histoire de la vaccination commence avec les inoculations expérimentales de la variole des vaches, dans les années 1790. Les premiers vaccins sont datés de leur année de développement ou d'essai mais les plus récents sont datés de l'année de commercialisation ou des derniers tests. Seule la variole a été éradiquée dans le monde entier. La poliomyélite et la rougeole sont les cibles actuelles de campagnes mondiales d'éradication.


title: Billy Graham

text: William Franklin Graham, Jr., dit Billy Graham, né le à Charlotte (Caroline du Nord) et mort le à Montreat dans le même État américain, est un pasteur et prédicateur chrétien évangélique baptiste américain.


title: Billy Graham

text: Graham naît le 7 novembre 1918 à Charlotte (Caroline du Nord). Il vit dans une ferme avec un frère et deux sœurs et est élevé dans la foi presbytérienne par ses parents. Adolescent, il est renvoyé d'un groupe de jeunes de son église parce qu'il n'était pas très intéressé par les questions spirituelles. Après avoir assisté à plusieurs réunions d'évangélisation de Mordecai Ham, Graham se convertit à l'âge de en 1934. En 1936, il commence des études de théologie évangélique au Bob Jones College (devenu Université Bob Jones), mais arrête parce qu'il trouve l'institution trop légaliste, reprochant à cette dernière de préférer le texte à l'esprit du texte. En 1937, il intègre le Trinity College of Florida. Il prêche son premier sermon à l'âge de dix-neuf ans, dans la Bostwick Baptist Church près de Palatka, en Floride. En 1939, il est consacré pasteur baptiste par une église de la Convention baptiste du Sud, la Peniel Baptist Church de Palatka, en Floride. En 1940, il obtient un baccalauréat en théologie du Trinity Bible College évangélique (devenu Trinity College of Florida) . En 1943, il est diplômé en anthropologie du Wheaton College.


title: Billy Graham

text: De 1943 à 1944, Graham est pasteur de la First Baptist Church à Western Springs (Illinois). En 1946, il devient évangéliste à plein temps pour Youth for Christ. En 1947, il fait sa première réunion d'évangélisation au Civic Auditorium à Grand Rapids (Michigan) en présence de .


title: Billy Graham

text: En 1948, dans une chambre d'hôtel à Modesto (Californie), l’évangéliste Billy Graham et son équipe d’évangélisation ont établi le Modesto Manifesto, un code d’éthique de vie et de travail pour les hommes pour se protéger des accusations d’abus financiers, sexuels et de pouvoir. Ce code comprend des règles pour la répartition des offrandes reçues dans les églises, le travail uniquement avec des églises favorables à l’évangélisation coopérative, l’usage des estimations officielles des foules lors des évènements en plein air et l’engagement à ne jamais être seul avec une femme autre que son épouse.