{"id":6476,"date":"2018-08-21T15:21:30","date_gmt":"2018-08-21T14:21:30","guid":{"rendered":"http:\/\/blog.capdata.fr\/?p=6476"},"modified":"2022-11-21T17:05:43","modified_gmt":"2022-11-21T16:05:43","slug":"sauvegardes-sql-server-dans-un-azure-blob-storage","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/","title":{"rendered":"Sauvegardes SQL Server dans un Azure Blob Storage"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6476&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6476&#038;title=Sauvegardes%20SQL%20Server%20dans%20un%20Azure%20Blob%20Storage\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Sauvegardes%20SQL%20Server%20dans%20un%20Azure%20Blob%20Storage&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6476\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>\r\n<p>Les sauvegardes de nos bases de donn\u00e9es ont souvent lieu en local ou sur un lecteur r\u00e9seau. Cela permet de les avoir sous la main pour une restauration rapide ou une duplication dans un environnement hors-production. Mais parfois, trouver cette capacit\u00e9 disque pour stocker nos backups n&#8217;est pas si simple&#8230;<\/p>\r\n\r\n\r\n\r\n<p>Par ailleurs, on peut vouloir les stocker dans un environnement externe, s\u00e9curis\u00e9, en cas de perte de notre solution de stockage principale.<\/p>\r\n\r\n\r\n\r\n<p>Depuis SQL Server 2012 SP2, Microsoft propose une solution qui peut nous aider \u00e0 r\u00e9soudre ces probl\u00e8mes : la sauvegarde vers un stockage dans le cloud Azure.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Cr\u00e9ation d&#8217;un <em>Storage Account<\/em> dans Azure<\/h2>\r\n\r\n\r\n\r\n<p>Le stockage dans le cloud Azure est une brique de service dans l&#8217;offre, bien vaste, que propose Microsoft. Celle-ci se trouve donc dans l&#8217;offre &#8220;<a href=\"https:\/\/docs.microsoft.com\/fr-fr\/azure\/storage\/common\/storage-introduction\">Storage Account&#8221;<\/a>.<\/p>\r\n\r\n\r\n\r\n<p>Pour donner une id\u00e9e du co\u00fbt, il faut environ compter 20 \u20ac par mois et par To, pour du stockage redondant dans un seul Data Center Microsoft.<\/p>\r\n\r\n\r\n\r\n<p>A partir du moment o\u00f9 vous poss\u00e9dez un abonnement Azure (d&#8217;\u00e9valuation ou autre), vous pouvez lancer la cr\u00e9ation d&#8217;un Storage Account. Vous serez factur\u00e9s en fonction de l&#8217;espace consomm\u00e9 et du temps utilis\u00e9. Si vous utilisez 1 To pendant 15 jours, cela vous co\u00fbtera donc environ 10 \u20ac.<\/p>\r\n\r\n\r\n\r\n<p><br \/>On commencera donc par cr\u00e9er une ressource de type &#8220;Storage Account&#8221; :<\/p>\r\n\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n\r\n\r\n<p>On lui donnera les param\u00e8tres qui d\u00e9finiront l&#8217;acc\u00e8s et les caract\u00e9ristiques du service.<\/p>\r\n\r\n\r\n\r\n\r\n\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6490 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/1.jpg\" alt=\"\" width=\"853\" height=\"897\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/1.jpg 853w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/1-285x300.jpg 285w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/1-768x808.jpg 768w\" sizes=\"auto, (max-width: 853px) 100vw, 853px\" \/><\/p>\r\n\r\n\r\n\r\n<p>Le type de compte &#8220;<a href=\"https:\/\/docs.microsoft.com\/fr-fr\/azure\/storage\/common\/storage-account-options#general-purpose-v2-accounts\">General Purpose v2<\/a>&#8221; est le plus polyvalent, et pourrait donc servir \u00e0 d&#8217;autres usages : autant l&#8217;utiliser.<\/p>\r\n\r\n\r\n\r\n<p>L&#8217;emplacement du data center \u00e0 utiliser d\u00e9pend de vos performances r\u00e9seaux, mais attention : le co\u00fbt varie l\u00e9g\u00e8rement d&#8217;un data center \u00e0 l&#8217;autre.<\/p>\r\n\r\n\r\n\r\n<p>Le niveau de performance n\u00e9cessaire \u00e0 faire des backups SQL Server est aujourd&#8217;hui uniquement le mode &#8220;standard&#8221; (disque physique classique et non pas SSD), mais \u00e9tant donn\u00e9 le niveau de performance attendu, c&#8217;est suffisant.<\/p>\r\n\r\n\r\n\r\n<p>L&#8217; access tier hot\/cold d\u00e9termine le niveau de service attendu pour les fichiers d\u00e9pos\u00e9s. Si vos fichiers ont vocation \u00e0 rester au moins 30 jours stock\u00e9s, il vaut mieux utiliser le sockage &#8220;cold&#8221;. Si au moins 6 mois, on peut m\u00eame le passer en mode &#8220;archive&#8221; (sous r\u00e9serve de ne pas avoir besoin de r\u00e9cup\u00e9rer le backup sous 15 heures). Sinon, il vaut mieux utiliser le mode &#8220;hot. Pour plus d&#8217;information sur les cat\u00e9gories hot\/cold\/archive : <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/storage\/blobs\/storage-blob-storage-tiers\">https:\/\/docs.microsoft.com\/en-us\/azure\/storage\/blobs\/storage-blob-storage-tiers<\/a><\/p>\r\n\r\n\r\n\r\n<p>Enfin, on exigera \u00e0 ce que tous les transferts passent en HTTPs avec l&#8217;option &#8220;Secure transfer required&#8221;.<\/p>\r\n\r\n\r\n\r\n<p>Afin de simplifier l&#8217;administration de ce service, on cr\u00e9era un Resource Group d\u00e9di\u00e9.<\/p>\r\n\r\n\r\n\r\n<p>Le Storage Account est pr\u00e9sent\u00e9 comme ci-dessous&nbsp; :<\/p>\r\n\r\n\r\n\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-6493 size-full aligncenter\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/StorageAccount.png\" alt=\"\" width=\"1158\" height=\"794\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/StorageAccount.png 1158w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/StorageAccount-300x206.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/StorageAccount-768x527.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/StorageAccount-1024x702.png 1024w\" sizes=\"auto, (max-width: 1158px) 100vw, 1158px\" \/><br \/><br \/><\/p>\r\n\r\n\r\n\r\n<p><\/p><p><\/p><p><\/p><p>&nbsp;<\/p>\r\n<p>On peut d\u00e9sormais aller dans &#8220;blobs&#8221; et cr\u00e9er le conteneur de nos backups :<\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6494 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/create_container.png\" alt=\"\" width=\"787\" height=\"352\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/create_container.png 787w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/create_container-300x134.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/create_container-768x344.png 768w\" sizes=\"auto, (max-width: 787px) 100vw, 787px\" \/><\/p>\r\n\r\n\r\n\r\n<p>On cr\u00e9er donc un conteneur &#8220;mysqlserverbackups&#8221; qui ne disposera pas d&#8217;acc\u00e8s publique.<\/p>\r\n\r\n\r\n\r\n<p><\/p><p><\/p><p><\/p><p>&nbsp;<\/p>\r\n<p>Les Storage Accounts g\u00e8rent la s\u00e9curit\u00e9 de leur acc\u00e8s par des &#8220;Access Keys&#8221;, qui sont des cl\u00e9s priv\u00e9es permettant des acc\u00e8s en lecture\/\u00e9criture. Leur partage doit donc \u00eatre tr\u00e8s r\u00e9fl\u00e9chie.<\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6495 size-full\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/access-keys.png\" alt=\"\" width=\"1355\" height=\"582\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/access-keys.png 1355w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/access-keys-300x129.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/access-keys-768x330.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/access-keys-1024x440.png 1024w\" sizes=\"auto, (max-width: 1355px) 100vw, 1355px\" \/><\/p>\r\n\r\n\r\n\r\n\r\n\r\n<p>Il existe toujours 2 cl\u00e9s, afin de permettre un renouvellement de la cl\u00e9 utilis\u00e9 dans un applicatif sans g\u00e9n\u00e9rer d&#8217;indisponibilit\u00e9 (on reconfigure son appli pour utiliser la 2e cl\u00e9, puis on g\u00e9n\u00e8re une nouvelle cl\u00e9 principale, on reconfigure l&#8217;applicatif pour utiliser la premi\u00e8re nouvellement g\u00e9n\u00e9r\u00e9e).<\/p>\r\n\r\n\r\n\r\n<p class=\"has-text-color has-vivid-red-color\"><strong>Les deux Access Keys sont des \u00e9l\u00e9ments essentiels et critiques pour la s\u00e9curit\u00e9 de vos fichiers ! Ne les communiquez pas, ne les exposez pas de mani\u00e8re imprudente !<\/strong><\/p>\r\n\r\n\r\n\r\n<p><\/p><p><\/p><p><\/p><p>&nbsp;<\/p>\r\n<p>En parall\u00e8le des Access Keys, et afin de s\u00e9curiser leur usage, il existe une alternative : les Shared Access Signature (SAS). Une Shared Access Signature est une chaine de caract\u00e8re, sign\u00e9e par une Access Key, permettant d&#8217;attribuer des droits sp\u00e9cifiques. On peut les cr\u00e9er dans la partie &#8220;Shared Access Signature&#8221; du Storage Account&nbsp; :<\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6496\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/SAS.png\" alt=\"\" width=\"1352\" height=\"836\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/SAS.png 1352w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/SAS-300x186.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/SAS-768x475.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/SAS-1024x633.png 1024w\" sizes=\"auto, (max-width: 1352px) 100vw, 1352px\" \/><\/p>\r\n\r\n\r\n\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<p>On peut donc d\u00e9finir \u00e0 quel types de ressources la SAS servira, pour quel type d&#8217;action (lecture, ajout, suppression&#8230;), une dur\u00e9e de validit\u00e9 pour l&#8217;acc\u00e8s (ici 10 ans), et \u00e9ventuellement une IP (celle, publique, par laquelle votre SQL Server sortira sur Internet). Une fois le bouton &#8220;Generate SAS and connection string&#8221; utilis\u00e9, on obtient le token suivant :<\/p>\r\n\r\n\r\n\r\n<p><em>?sv=2017-11-09&amp;ss=b&amp;srt=co&amp;sp=rwdlac&amp;se=2028-08-22T16:59:59Z&amp;st=2018-08-22T08:59:59Z&amp;sip=1.2.3.4&amp;spr=https&amp;sig=pbi3JZvRjMP66nADkkNDI2R%2F8z70N4R4AwPL%2BVOo4AA%3D<\/em><\/p>\r\n\r\n\r\n\r\n<p>Si jamais on tentait de modifier un des param\u00e8tre du token (comme la dur\u00e9e de validit\u00e9, ou l&#8217;IP), la signature invaliderait ces param\u00e8tre, faisant \u00e9chou\u00e9 la connexion (sig=pbi3JZvRjMP66nADkkNDI2R%2F8z70N4R4AwPL%2BVOo4AA%3D).<del><\/del><\/p>\r\n\r\n\r\n\r\n<hr class=\"wp-block-separator\"\/>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Mise en place des sauvegardes<\/h2>\r\n\r\n\r\n\r\n<p>Il existe deux m\u00e9thodes pour faire les sauvegardes dans un blob Azure : par l&#8217;Access Key, ou par une SAS. M\u00eame si nous recommandons d&#8217;utiliser une SAS, nous allons pr\u00e9senter les deux m\u00e9thodes.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">Sauvegarde par Access Key<\/h3>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\"><li>On cr\u00e9er un credential contenant l&#8217;Access Key<\/li><\/ul>\r\n\r\n\r\n\r\n<pre><pre class=\"brush: sql; title: ; notranslate\" title=\"\"> CREATE CREDENTIAL My_Azure_Cred_with_Access_Key \r\nWITH IDENTITY = 'storagecapdata', \r\nSECRET = '\/lKjpEk9d\/Ur3THH+1E9Dt5fGkSkYUsu93He0384b55v6pPLb7ZoRGxazDGNylARh2BkOOsKCDsZUUbS\/ax3Qw=='; <\/pre><\/pre>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\"><li>On lance la sauvegarde avec le <em>credential<\/em> cr\u00e9\u00e9 :<\/li><\/ul>\r\n\r\n\r\n\r\n\r\n\r\n<p><pre><pre class=\"brush: sql; title: ; notranslate\" title=\"\">BACKUP DATABASE WideWorldImporters \r\n\tTO URL = 'https:\/\/storagecapdata.blob.core.windows.net\/mysqlserverbackups\/WideWorldImporters.bak' \r\n\tWITH CREDENTIAL = 'My_Azure_Cred_with_Access_Key', \r\n\tCOMPRESSION, STATS = 10 ; <\/pre><\/pre>\r\n<\/p><p>On remarquera que l&#8217;URL contient donc le nom du Storage Account, avant .blob.core.windows.net , ainsi que le nom d&#8217;un conteneur cr\u00e9er dans le Storage Account (ici mysqlerverbackups).<\/p>\r\n\r\n\r\n\r\n\r\n\r\n<p>On voit d\u00e9sormais notre fichier pr\u00e9sent, il est m\u00eame possible de le t\u00e9l\u00e9charger depuis l&#8217;interface.<\/p>\r\n\r\n\r\n\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6498\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/backup1.png\" alt=\"\" width=\"1426\" height=\"352\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/backup1.png 1426w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/backup1-300x74.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/backup1-768x190.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/backup1-1024x253.png 1024w\" sizes=\"auto, (max-width: 1426px) 100vw, 1426px\" \/><\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">Sauvegarde par Shared Access Signature<\/h3>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>On cr\u00e9er le credential avec le token de la SAS souhait\u00e9e :<\/li>\r\n<\/ul>\r\n<pre><pre class=\"brush: sql; title: ; notranslate\" title=\"\">CREATE CREDENTIAL [https:\/\/storagecapdata.blob.core.windows.net\/mysqlserverbackups] \r\n  WITH IDENTITY = 'SHARED ACCESS SIGNATURE',  \r\n  SECRET = 'sv=2017-11-09&amp;amp;amp;amp;amp;amp;amp;amp;amp;ss=b&amp;amp;amp;amp;amp;amp;amp;amp;amp;srt=co&amp;amp;amp;amp;amp;amp;amp;amp;amp;sp=rwdlac&amp;amp;amp;amp;amp;amp;amp;amp;amp;se=2028-08-22T20:54:31Z&amp;amp;amp;amp;amp;amp;amp;amp;amp;st=2018-08-22T12:54:31Z&amp;amp;amp;amp;amp;amp;amp;amp;amp;spr=https&amp;amp;amp;amp;amp;amp;amp;amp;amp;sig=mi0JCpl3yJB9inULL1m%2Blu4xyiFwMEzXJGRuM6OFQeQ%3D';  \r\n<\/pre><\/pre>\r\n\r\n\r\n\r\n\r\n\r\n<p class=\"has-text-color has-vivid-red-color\">On note donc que le <em>credential<\/em> porte le nom de l&#8217;URL du conteneur, et <strong>surtout que le param\u00e8tre <\/strong><strong><em>SECRET<\/em> est le token de la SAS sans le &#8220;?&#8221; au d\u00e9but de la chaine de caract\u00e8re pourtant donn\u00e9 dans le portail Azure !<\/strong><\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\"><li>On lance la sauvegarde vers l&#8217;URL sans rien sp\u00e9cifier d&#8217;autre<\/li><\/ul>\r\n\r\n\r\n\r\n<pre><pre class=\"brush: sql; title: ; notranslate\" title=\"\">BACKUP DATABASE WideWorldImporters\r\nTO URL = 'https:\/\/storagecapdata.blob.core.windows.net\/mysqlserverbackups\/WideWorldImporters_with_SAS.bak'\r\nCOMPRESSION,\r\nSTATS = 10 ;\r\n<\/pre><\/pre>\r\n\r\n\r\n\r\n<p><\/p><p><\/p><p><\/p><p>On trouvera le fichier lui aussi dans l&#8217;interface d&#8217;Azure :<\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6499\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/backup2.png\" alt=\"\" width=\"1452\" height=\"363\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/backup2.png 1452w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/backup2-300x75.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/backup2-768x192.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/backup2-1024x256.png 1024w\" sizes=\"auto, (max-width: 1452px) 100vw, 1452px\" \/><\/p>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<p>On remarquera \u00e9galement une petite subtilit\u00e9 sur laquelle je n&#8217;ai pas trouv\u00e9 de documentation. Si on sauvegarde avec une Access Key, on sauvegarde sous la forme d&#8217;un Page Blob. Si on sauvegarde avec une SAS, on sauvegarde sous la forme d&#8217;un Block Blob.<\/p>\r\n\r\n\r\n\r\n<p>Un Block Blob convient bien au gros fichiers et peuvent faire jusqu&#8217;\u00e0 4.75 To (\u00e0 la date de l&#8217;\u00e9criture de l&#8217;article), tandis qu&#8217;un Page Blob est limit\u00e9 \u00e0 1 To. Une raison de plus d&#8217;utiliser une SAS plut\u00f4t qu&#8217;une Access Key. Par ailleurs, l&#8217;usage de la compression des backup est vivement recommand\u00e9.<\/p>\r\n\r\n\r\n\r\n<p>Pour plus d&#8217;information sur les limitations des sauvegardes dans Azure : <a href=\"https:\/\/docs.microsoft.com\/fr-fr\/sql\/relational-databases\/backup-restore\/sql-server-backup-to-url?view=sql-server-2017#limitations\">https:\/\/docs.microsoft.com\/fr-fr\/sql\/relational-databases\/backup-restore\/sql-server-backup-to-url?view=sql-server-2017#limitations<\/a><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Restaurer une base de donn\u00e9es depuis Azure<\/h2>\r\n\r\n\r\n\r\n<p>Une fois tout \u00e9tabli, c&#8217;est beaucoup plus simple. Vous pouvez d\u00e9j\u00e0 juste t\u00e9l\u00e9charger le fichier de sauvegarde depuis l&#8217;interface d&#8217;Azure, si vous le souhaitez. Sinon, pour lancer une restauration avec une SAS&nbsp; :<\/p>\r\n\r\n\r\n\r\n<pre><pre class=\"brush: sql; title: ; notranslate\" title=\"\">RESTORE DATABASE WideWorldImporters\r\nFROM URL = 'https:\/\/storagecapdata.blob.core.windows.net\/mysqlserverbackups\/WideWorldImporters_with_SAS.bak'\r\nwith replace ; \r\n<\/pre><\/pre>\r\n\r\n\r\n\r\n<p>Sans SAS, mais avec une Access Key&nbsp; :<\/p>\r\n\r\n\r\n\r\n<pre><pre class=\"brush: sql; title: ; notranslate\" title=\"\">RESTORE DATABASE WideWorldImporters\r\nFROM URL = 'https:\/\/storagecapdata.blob.core.windows.net\/mysqlserverbackups\/WideWorldImporters.bak'\r\nWITH CREDENTIAL = 'My_Azure_Cred_with_Access_Key',\r\nREPLACE ; \r\n<\/pre><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Backup \u00e0 double destination<\/h2>\r\n\r\n\r\n\r\n<p>SQL Server propose aussi de faire des backups \u00e0 double destination. C&#8217;est \u00e0 dire qu&#8217;il&nbsp; n&#8217;y a qu&#8217;un seul processus de backup, mais la sortie de ce processus sera doubl\u00e9 \u00e0 deux endroits. On peut donc avoir un backup en local, de mani\u00e8re &#8220;classique&#8221;, mais \u00e9galement un backup dans Azure, au cas o\u00f9 l&#8217;on venait \u00e0 perdre le stockage local de sauvegarde. C&#8217;est un moyen d&#8217;externaliser ses backups \u00e0 moindre co\u00fbt.<\/p>\r\n\r\n\r\n\r\n<pre><pre class=\"brush: sql; title: ; notranslate\" title=\"\">BACKUP DATABASE WideWorldImporters TO\r\nDISK = N'C:\\Program Files\\Microsoft SQL Server\\MSSQL14.MSSQLSERVER\\MSSQL\\Backup\\WideWorldImporters.bak',\r\nURL = 'https:\/\/storagecapdata.blob.core.windows.net\/mysqlserverbackups\/WideWorldImporters_with_SAS.bak' <\/pre><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Purge automatis\u00e9e des backups dans Azure<\/h2>\r\n\r\n\r\n\r\n<p style=\"text-align:left\"><\/p><p style=\"text-align:left\"><\/p><p style=\"text-align:left\"><\/p><p style=\"text-align: left;\">Il n&#8217;existe aucune m\u00e9thode T-SQL permettant de purger les fichiers se trouvant dans un Azure Blob Storage. Il existe diff\u00e9rente m\u00e9thodes, la plus simple \u00e9tant un job PowerShell dans SQL Server. Pensez juste \u00e0 installer le module <a href=\"https:\/\/docs.microsoft.com\/fr-fr\/powershell\/azure\/install-azurerm-ps?view=azurermps-6.7.0\">Azure pour Powershell<\/a> (Install-Module -Name AzureRM). Le code PowerShell aura cette forme :<\/p>\r\n<pre><pre class=\"brush: powershell; title: ; notranslate\" title=\"\">$CleanupTime = [DateTime]::UtcNow.AddHours(-72)\r\n$MySASToken = 'sv=2017-11-09&amp;amp;amp;amp;amp;ss=b&amp;amp;amp;amp;amp;srt=co&amp;amp;amp;amp;amp;sp=rwdlac&amp;amp;amp;amp;amp;se=2028-08-22T20:54:31Z&amp;amp;amp;amp;amp;st=2018-08-22T12:54:31Z&amp;amp;amp;amp;amp;spr=https&amp;amp;amp;amp;amp;sig=mi0JCpl3yJB9inULL1m%2Blu4xyiFwMEzXJGRuM6OFQeQ%3D'\r\n$MyStorageAccountName = 'storagecapdata'\r\n$MycontainerName = &quot;mysqlserverbackups&quot;\r\n$context = New-AzureStorageContext -StorageAccountName $MyStorageAccountName -SasToken $MySASToken\r\nGet-AzureStorageBlob -Container $MycontainerName -Context $context | Where-Object { $_.LastModified.UtcDateTime -lt $CleanupTime -and $_.Name -like &quot;*.bak&quot;} |Remove-AzureStorageBlob\r\n<\/pre><\/pre>\r\n\r\n\r\n\r\n\r\n\r\n<p><\/p><p><\/p><p><\/p><p>Cela peut paraitre obscure, mais il faut juste comprendre les quelques param\u00e8tres suivants :<\/p>\r\n<p><em>$CleanupTime ==&gt;<\/em> Tous les fichiers de plus de 72 heures sont supprim\u00e9s.<\/p>\r\n\r\n\r\n\r\n<p><em>$MySASToken<\/em> ==&gt; Le token SAS, sans le point d&#8217;interrogation, comme dans le code T-SQL.<\/p>\r\n\r\n\r\n\r\n<p><em>$MyStorageAccountName<\/em> ==&gt; Le nom du Storage Account dans Azure<\/p>\r\n\r\n\r\n\r\n<p><em>$MycontainerName<\/em> ==&gt; Le nom du conteneur dans le Storage Account<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\r\n\r\n\r\n\r\n<p style=\"text-align:left\">Il y a \u00e9norm\u00e9ment de choses \u00e0 dire sur le Blob Storage dans Azure. Beaucoup de choses sont possibles, il faut tenir en compte pour connaitre avec exactitude ses co\u00fbts. Cependant, m\u00eame avec une certaine marge d&#8217;erreur cela reste largement comp\u00e9titif. On peut avoir une id\u00e9e des co\u00fbts avec le <a href=\"https:\/\/azure.microsoft.com\/fr-fr\/pricing\/calculator\/\">calculateur de Microsoft.<\/a><\/p>\r\n\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<p>Avec cette solution, on peut donc s\u00e9curiser ses donn\u00e9es dans un cloud externe et ne pas craindre une perte du petit NAS qui pourrait h\u00e9berger les donn\u00e9es d&#8217;une PME, par exemple, mais aussi s\u00e9curiser des donn\u00e9es l\u00e9gales dont la dur\u00e9e de r\u00e9tention peut parfois se placer \u00e0 l&#8217;\u00e9chelle de la d\u00e9cennie.<\/p>\r\n<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6476&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6476&#038;title=Sauvegardes%20SQL%20Server%20dans%20un%20Azure%20Blob%20Storage\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Sauvegardes%20SQL%20Server%20dans%20un%20Azure%20Blob%20Storage&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6476\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>Les sauvegardes de nos bases de donn\u00e9es ont souvent lieu en local ou sur un lecteur r\u00e9seau. Cela permet de les avoir sous la main pour une restauration rapide ou une duplication dans un environnement hors-production. Mais parfois, trouver cette&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":6490,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[282,5],"tags":[93,99,285],"class_list":["post-6476","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-sqlserver","tag-backup","tag-backup-database","tag-blob-storage"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Sauvegardes SQL Server dans un Azure Blob Storage - Capdata TECH BLOG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sauvegardes SQL Server dans un Azure Blob Storage - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"Les sauvegardes de nos bases de donn\u00e9es ont souvent lieu en local ou sur un lecteur r\u00e9seau. Cela permet de les avoir sous la main pour une restauration rapide ou une duplication dans un environnement hors-production. Mais parfois, trouver cette&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2018-08-21T14:21:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-21T16:05:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"853\" \/>\n\t<meta property=\"og:image:height\" content=\"897\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Capdata team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Capdata team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/\"},\"author\":{\"name\":\"Capdata team\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9\"},\"headline\":\"Sauvegardes SQL Server dans un Azure Blob Storage\",\"datePublished\":\"2018-08-21T14:21:30+00:00\",\"dateModified\":\"2022-11-21T16:05:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/\"},\"wordCount\":1486,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"keywords\":[\"backup\",\"backup database\",\"Blob Storage\"],\"articleSection\":[\"Azure\",\"SQL Server\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/\",\"name\":\"Sauvegardes SQL Server dans un Azure Blob Storage - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2018-08-21T14:21:30+00:00\",\"dateModified\":\"2022-11-21T16:05:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sauvegardes SQL Server dans un Azure Blob Storage\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.capdata.fr\/#website\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"name\":\"Capdata TECH BLOG\",\"description\":\"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting\",\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.capdata.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.capdata.fr\/#organization\",\"name\":\"Capdata TECH BLOG\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"contentUrl\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"width\":800,\"height\":254,\"caption\":\"Capdata TECH BLOG\"},\"image\":{\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9\",\"name\":\"Capdata team\",\"sameAs\":[\"https:\/\/www.capdata.fr\"],\"url\":\"https:\/\/blog.capdata.fr\/index.php\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sauvegardes SQL Server dans un Azure Blob Storage - Capdata TECH BLOG","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/","og_locale":"fr_FR","og_type":"article","og_title":"Sauvegardes SQL Server dans un Azure Blob Storage - Capdata TECH BLOG","og_description":"Les sauvegardes de nos bases de donn\u00e9es ont souvent lieu en local ou sur un lecteur r\u00e9seau. Cela permet de les avoir sous la main pour une restauration rapide ou une duplication dans un environnement hors-production. Mais parfois, trouver cette&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2018-08-21T14:21:30+00:00","article_modified_time":"2022-11-21T16:05:43+00:00","og_image":[{"width":853,"height":897,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2018\/08\/1.jpg","type":"image\/jpeg"}],"author":"Capdata team","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Capdata team","Dur\u00e9e de lecture estim\u00e9e":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/"},"author":{"name":"Capdata team","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9"},"headline":"Sauvegardes SQL Server dans un Azure Blob Storage","datePublished":"2018-08-21T14:21:30+00:00","dateModified":"2022-11-21T16:05:43+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/"},"wordCount":1486,"commentCount":0,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"keywords":["backup","backup database","Blob Storage"],"articleSection":["Azure","SQL Server"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/","url":"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/","name":"Sauvegardes SQL Server dans un Azure Blob Storage - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2018-08-21T14:21:30+00:00","dateModified":"2022-11-21T16:05:43+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/sauvegardes-sql-server-dans-un-azure-blob-storage\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"Sauvegardes SQL Server dans un Azure Blob Storage"}]},{"@type":"WebSite","@id":"https:\/\/blog.capdata.fr\/#website","url":"https:\/\/blog.capdata.fr\/","name":"Capdata TECH BLOG","description":"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting","publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.capdata.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.capdata.fr\/#organization","name":"Capdata TECH BLOG","url":"https:\/\/blog.capdata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","contentUrl":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","width":800,"height":254,"caption":"Capdata TECH BLOG"},"image":{"@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9","name":"Capdata team","sameAs":["https:\/\/www.capdata.fr"],"url":"https:\/\/blog.capdata.fr\/index.php\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/6476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=6476"}],"version-history":[{"count":33,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/6476\/revisions"}],"predecessor-version":[{"id":9530,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/6476\/revisions\/9530"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/6490"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=6476"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=6476"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=6476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}