SQL Server 2016 : Les nouveautés

Aborder les fonctions de compression et de transaction

Testez gratuitement nos 1251 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Transact-SQL ajoute une fonction de compression et de décompression de type algorithme zip. Il ajoute également une fonction permettant de voir son numéro de transaction. Explorez aussi quelques nouveautés concernant la gestion des zones horaires.
05:53

Transcription

Continuons notre exploration des nouvelles fonctionalités de Transact SQL, avec la compression. Alors ça c'est très très simple, vous avez une fonction Compress et une fonction Decompress, qui, comme leur nom l'indique, ok - on a compris. C'est quoi comme compression? C'est du « lampersive », c'est-à-dire, la même chose que « zip ». Je prends un exemple: un petit « json », ici, que j'ai stocké dans une chaine unicode, j'ai mis le « N » devant, c'est simplement, une chaine de caractères unicode, et, si je vois le résultat de la compression, et bien j'ai ça: Bon vous allez me dire: « c'est compressé, ça ? » Bon ok, c'est la représentation en héxadécimales, de quelque chose qui est du VarBinary. C'est pas parce que la représentation hexadécimale est assez longue, que le stockage n'est pas compressé. On va regarder. Je vais utiliser DATALENGTH, une fonction qui me retourne la longueur d'une donnée en octets, je vais faire un « DataLength » sur la chaine elle-même, et puis bien sûr, un Datalength sur la compression de la chaîne, j'ai pris ça et puis, je fais un DataLength pour voir combien d'octets ça me coûte. Les deux en même temps, le DataLength de ma chaine : 124 Octets, et ensuite je suis à 103 Octets. C'est pas terrible terrible, mais j'ai une petite chaine ici, bien entendu. Je suis pas en train de compresser quelque chose de volumineux avec beaucoup de redondances. D'ailleurs on pourrait faire le test sur la redondance elle-même, par exemple, comme ceci : on va faire un « Replicate », de A ... ou AB, tiens, et puis on va le répliquer 200 fois. Ça ça donne quoi ? 800. Ça parait logique, je prends ça, je compresse ce « Replicate », et je regarde ce que ça me donne. Donc on se souvient, on était à 800, et on est à ... 31. C'est simplement l'algorythme « lampersive », c'est à dire la duplication de données va être très fortement compréssée. Si vous en avez besoin, c'est à votre disposition maintenant, en Transact SQL. Je vais vous montrer comment décomprésser - c'est assez simple, bien sûr. Donc je prends la même chose, je le mets dans une variable que j'appelle Contenu de type VarBinary Max Donc, bien sûr le résultat de la compression c'est du VarBinary. Je vous montre ensuite juste le contenu, Je le décompresse, on va voir ce que ça donne, et puis, vous allez voir, je fais un premier passage, Donc j'ai ça qui vient d'ici, le contenu en héxadécimales, et je vais un Decompress. Sauf que le Decompress, me retourne, comme vous le voyez ici dans la signature de la fonction, « RETURNS varbinary(max) ». On fait une décompression, on sait pas ce qui avait dedans, ça pouvait être une chaine, ça pouvait être un entier, ça pouvait être du binaire, donc, ça c'est le résultat de ça, on vous retourne du Varbinary. Il faut donc explicitement le convertir en quelque chose qui était le type de données source, si vous voulez. Donc, si je reprends ma démo, cette fois-ci avec un cast, et bien voilà, c'est quand même la moindre des choses, vous allez me dire, j'ai la donnée originelle qui est revenue. Donc voilà c'est aussi simple que ça. Autre ajout, au cas où vous en avez besoin, vous pouvez, à l'aide d'une fonction système récupérer l'ID de transaction dans lequel vous vous trouvez. Si vous avez une transaction ouverte, cette transaction est numérotée, et vous pouvez, grâce à cette fonction, retrouver le numéro de transaction ; Alors pour l'instant, je ne vois pas forcément une utilité quotidienne extraordinaire à cette fonctionalité (bon voilà j'ai un ID de transaction), ça correspond au numéro qu'on va trouver dans cette vue de gestion dynamique, « DM_tran_current_transaction » c'est-à-dire les transactions courantes ouvertes sur le système donc ici j'ai une liste complète des transactions et puis ici, je peux voir quel est mon numéro de transaction. Plus dans du code qui va peut être voir quelles sont les autres transactions en cours par rapport à la mienne, ça peut être intéressant. Une nouveauté. Autre nouveauté sur la gestion des « DateTimeOffset » « Datetime offse t» est un type de données qui existe depuis SQL serveur 2008, mais qui vous permet de stocker un DateTime 2, plus la notion de la zone horaire dans laquelle se trouve cette valeur. Si je fais par exemple, ceci : qui me génère un datetime offset par rapport à la date courante de la machine ET la zone horaire de la machine et bien je sais qu'il est 10 h 47 + 2 . Parce que je suis à GMT + 2. Il a été rajouté en 2016 des informations à l'intérieur de SQL Server sur les différents time zones. Et je peux les récupérer avec cette vue système, TimeZone Info, qui va me donner donc toutes les zones disponibles dans le monde. Et je peux maintenant faire de la conversion, en prenant un DatTimeOffset, et en ajoutant cette syntaxe juste après : « At Time Zone » en lui donnant un nom tel qu'il est indiqué ici, de Time Zone. Alors par exemple, j'ai dit « Argentina standard time » maintenant nous sommes, on s'en souvient, à 10h48, At Time Zone Argentina, donc quelle est finalement l'heure courante en Argentine ? Il est 5h48, parce qu'en Argentine on est à -3 GMT. Donc voilà, ça vous permet, plus facilement, de gérer des applications internationales ou des conversions entre différentes zones horaires.

SQL Server 2016 : Les nouveautés

Découvrez les nouveautés de SQL Server 2016. Voyez les options de configuration limitées aux bases de données, le chiffrage de données à partir des applications clientes, etc.

2h26 (27 vidéos)
Aucun commentaire n´est disponible actuellement
 

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !