{"id":164906,"date":"2025-05-19T10:33:50","date_gmt":"2025-05-19T17:33:50","guid":{"rendered":"https:\/\/blog.everpuredata.com\/?p=164906"},"modified":"2025-06-17T07:57:48","modified_gmt":"2025-06-17T14:57:48","slug":"sql-server-2025-streamlining-t-sql-snapshot-backups","status":"publish","type":"post","link":"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/","title":{"rendered":"Int\u00e9gration de l\u2019API REST T-SQL dans SQL Server 2025\u00a0: Rationalisation des sauvegardes de snapshots T-SQL"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column has-medium-font-size is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:70%\">\n<div class=\"wp-block-group has-border-color has-pure-orange-100-border-color has-primary-background-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:2px;border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-left-radius:16px;border-bottom-right-radius:16px;padding-top:30px;padding-right:30px;padding-bottom:30px;padding-left:30px\">\n<h3 class=\"wp-block-heading\" id=\"h-summary\">Synth\u00e8se<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This article takes you through the steps for using a T-SQL script to create application-consistent snapshots on<sup> <\/sup>FlashArray from within SQL Server, without needing any external tools or scripts.\u00a0<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group pdf-print-hide is-content-justification-right is-nowrap is-layout-flex wp-container-core-group-is-layout-f726d978 wp-block-group-is-layout-flex\"><div class=\"pdfprnt-buttons\"><a href=\"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/posts\/164906?print=pdf\" class=\"pdfprnt-button pdfprnt-button-pdf\" target=\"_blank\" ><img decoding=\"async\" src=\"https:\/\/blog.everpuredata.com\/wp-content\/plugins\/pdf-print-pro\/images\/pdf.png?1953174090\" alt=\"image_pdf\" title=\"Afficher le PDF\" \/><\/a><a href=\"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/posts\/164906?print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\" ><img decoding=\"async\" src=\"https:\/\/blog.everpuredata.com\/wp-content\/plugins\/pdf-print-pro\/images\/print.png?245231721\" alt=\"image_print\" title=\"Contenu imprim\u00e9\" \/><\/a><\/div>\n<\/div>\n\n\n\n<div id=\"CONTENT\" class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"has-text-align-center wp-block-paragraph\"><em>Cet article a initialement \u00e9t\u00e9 publi\u00e9 sur le <a href=\"https:\/\/www.nocentino.com\/posts\/2025-05-19-t-sql-rest-api-integration-in-sql-server-2025-streamlining-t-sql-snapshot-backups\/\">blog d\u2019Anthony Nocentino<\/a>. Elle a \u00e9t\u00e9 republi\u00e9e avec le cr\u00e9dit et le consentement de l\u2019auteur.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans cet article, je vais vous pr\u00e9senter un script T-SQL qui cr\u00e9e des snapshots coh\u00e9rents avec les applications sur Pure Storage<sup>\u00ae <\/sup><a href=\"https:\/\/www.purestorage.com\/products\/unified-block-file-storage.html\" target=\"_blank\" rel=\"noreferrer noopener\">FlashArray<\/a><sup>\u2122<\/sup>, le tout depuis SQL Server, sans outils externes. SQL Server 2025 introduit une nouvelle fonctionnalit\u00e9 puissante\u00a0: la proc\u00e9dure <em>sp_invoke_external_rest_endpoint<\/em> stock\u00e9e. Gr\u00e2ce \u00e0 cette am\u00e9lioration, il est plus facile que jamais d\u2019appeler des API REST directement depuis T-SQL. En combinant cette nouvelle fonctionnalit\u00e9 avec l\u2019API Pure Storage, nous pouvons orchestrer les op\u00e9rations de snapshot en toute transparence, sans outils ou scripts externes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous avez suivi ma <a href=\"https:\/\/blog.everpuredata.com\/author\/anthony-nocentino\/\" target=\"_blank\" rel=\"noreferrer noopener\">s\u00e9rie \u00ab\u00a0Utilisation de la sauvegarde par snapshot T-SQL\u00a0\u00bb,<\/a> vous savez que cette fonctionnalit\u00e9 offre des avantages consid\u00e9rables pour les environnements de bases de donn\u00e9es volumineux. Aujourd\u2019hui, nous verrons comment mettre en \u0153uvre cela directement dans T-SQL en tirant parti de la capacit\u00e9 de SQL Server \u00e0 appeler des points de terminaison REST externes, sans avoir besoin de PowerShell.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans T-SQL, en tirant parti de la capacit\u00e9 de SQL Server \u00e0 appeler des points de terminaison REST externes, il n\u2019est pas n\u00e9cessaire d\u2019utiliser PowerShell.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vous pouvez acc\u00e9der \u00e0 l\u2019int\u00e9gralit\u00e9 du <a href=\"https:\/\/gist.github.com\/nocentino\/e5a9579529eaeccdc85107ba5dbb0294\">scriptici<\/a>.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"enabling-the-rest-endpoint-in-sql-server-2025\">Activation du point de terminaison REST dans SQL Server 2025<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tout d\u2019abord, assurons-nous de pouvoir nous connecter \u00e0 des terminaux REST externes\u00a0:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sp_configure 'external rest endpoint enabled', 1;\nRECONFIGURE WITH OVERRIDE;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cela permet \u00e0 la fonctionnalit\u00e9 de point de terminaison REST de SQL Server, qui permet \u00e0 SQL Server d\u2019effectuer des appels sortants sur l\u2019API REST. Cela est essentiel pour se connecter \u00e0 l\u2019API de la baie FlashArray afin de d\u00e9clencher des snapshots.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il est important de noter que tous les terminaux <code>sp_invoke_external_rest_endpoint<\/code>doivent utiliser HTTPS avec chiffrement TLS, et que le certificat doit \u00eatre approuv\u00e9 par le syst\u00e8me d\u2019exploitation sous-jacent h\u00e9bergeant l\u2019instance SQL Server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"authenticating-with-the-flasharray\">Authentification avec la baie FlashArray<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ensuite, nous \u00e9tablirons une session s\u00e9curis\u00e9e avec la baie FlashArray de Pure Storage \u00e0 l\u2019aide de la proc\u00e9dure <code>sp_invoke_external_rest_endpoint<\/code>newstored de SQL Server 2025. Cette fonctionnalit\u00e9 repr\u00e9sente une avanc\u00e9e significative dans les capacit\u00e9s de SQL Server, ce qui nous permet de passer des appels d\u2019API REST directement depuis T-SQL sans script externe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour s&rsquo;authentifier sur une baie FlashArray, nous soumettons d&rsquo;abord un <a href=\"https:\/\/support.purestorage.com\/bundle\/m_purityfa_rest_api\/page\/FlashArray\/PurityFA\/Purity_FA_REST_API\/topics\/task\/t_rest_api_setup_through_the_graphic_user_interface_gui.html\" target=\"_blank\" rel=\"noreferrer noopener\">jetonAPI <\/a>avecles autorisations suffisantes pour le terminal de connexion de la baie FlashArray. Une fois l&rsquo;authentification r\u00e9ussie, la baie FlashArray renvoie an<code>x-auth-token<\/code>dans les en-t\u00eates de r\u00e9ponse, qui deviennent nos identifiants de session pour toutes les op\u00e9rations d&rsquo;API ult\u00e9rieures de cette session. Ce mod\u00e8le d\u2019authentification par jeton offre un m\u00e9canisme s\u00e9curis\u00e9 et limit\u00e9 dans le temps pour les interactions API, tout en conservant une piste d\u2019audit claire des op\u00e9rations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans le code qui suit, nous ex\u00e9cuterons cette demande d\u2019authentification, puis extrayons le<code>x-auth-token<\/code>de la r\u00e9ponse JSON pour cr\u00e9er nos en-t\u00eates d\u2019autorisation pour les appels d\u2019API REST suivants.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>DECLARE @ret INT, @response NVARCHAR(MAX), @AuthToken NVARCHAR(100), @MyHeaders NVARCHAR(100);\n\nEXEC @ret = sp_invoke_external_rest_endpoint\n @url = N'https:\/\/flasharray1.purestorage.com\/api\/2.36\/login',\n @headers = N'{\"api-token\":\"PASTE_YOUR_TOKEN_HERE\"}',\n @response = @response OUTPUT;\n\nPRINT 'Login Return Code: ' + CAST(@ret AS NVARCHAR(10))\nPRINT 'Login Response: ' + @response\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"error-handling-and-token-extraction\">Gestion des erreurs et extraction des jetons<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ensuite, nous v\u00e9rifierons la r\u00e9ussite de la connexion et extrayons le jeton d\u2019authentification. Si le code de retour de la baie FlashArray n&rsquo;est pas 0, nous imprimerons un message d&rsquo;erreur et quitterons. En supposant un succ\u00e8s, nous lirons le<code>x-auth-token<\/code>de la r\u00e9ponse de connexion. Notez que la cl\u00e9 de jeton doit inclure des guillemets doubles <code>\u00ab\u00a0x-auth-token\u00a0\u00bb<\/code> pour garantir <code>JSON_VALUE<\/code>une analyse correcte. Une fois extrait, nous utiliserons le jeton pour construire l\u2019en-t\u00eate d\u2019autorisation pour les appels d\u2019API REST ult\u00e9rieurs sur la baie.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if ( @ret &lt;&gt; 0 )\n    BEGIN\n        PRINT 'Error in REST call, unable to login to the array.'\n        RETURN\n    END\n\nSET @AuthToken = JSON_VALUE(@response, '$.response.headers.\"x-auth-token\"'); \nSET @MyHeaders = N'{\"x-auth-token\":\"' + @AuthToken + '\", \"Content-Type\":\"application\/json\"}'\n\nPRINT 'Headers: ' + @MyHeaders\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"freezing-the-database-for-snapshot\">Geler la base de donn\u00e9es pour snapshot<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;\u00e9tape cruciale est la suspension des I\/O d&rsquo;\u00e9criture de la base de donn\u00e9es pour pr\u00e9parer le snapshot. Cette commande utilise la fonction de sauvegarde par snapshot T-SQL de SQL Server 2022 pour geler les op\u00e9rations d\u2019I\/O d\u2019\u00e9criture sur la base de donn\u00e9es. La base de donn\u00e9es reste lisible, mais les op\u00e9rations d\u2019\u00e9criture sont suspendues jusqu\u2019\u00e0 ce que nous terminions notre processus de snapshot. Nous obtenons ainsi un snapshot coh\u00e9rent avec les applications.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ALTER DATABASE &#091;TestDB1] SET SUSPEND_FOR_SNAPSHOT_BACKUP = ON\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"taking-the-storage-snapshot\">Prise de l\u2019instantan\u00e9 du stockage<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avec I\/O en \u00e9criture bloqu\u00e9es sur la base de donn\u00e9es, nous sommes pr\u00eats \u00e0 prendre un snapshot sur la baie FlashArray. L\u2019\u00e9tape suivante consiste \u00e0 appeler leendpoint<code>protection-group-snapshots<\/code>REST RESTpour lancer une sauvegarde instantan\u00e9e du groupe de protection.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>EXEC @ret = sp_invoke_external_rest_endpoint\n @url = N'https:\/\/flasharray1.purestorage.com\/api\/2.36\/protection-group-snapshots',\n @headers = @MyHeaders,\n @payload = N'{\"source_names\":\"aen-sql-25-a-pg\"}',    \n @response = @response OUTPUT;\n\nPRINT 'Snapshot Return Code: ' + CAST(@ret AS NVARCHAR(10))\nPRINT 'Snapshot Response: ' + @response\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ici, nous appelons l&rsquo;API REST<code>protection-group-snapshotsendpoint<\/code> de la baie FlashArray pour cr\u00e9er un snapshot d&rsquo;un groupe de protection nomm\u00e9<code>aen-sql-25-a-pg<\/code>. Le groupe de protection doit contenir tous les volumes o\u00f9 sont stock\u00e9s nos fichiers de base de donn\u00e9es. La baie FlashArray cr\u00e9e un snapshot ponctuel de tous les volumes de ce groupe de protection.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"extracting-the-snapshot-name-and-creating-the-backup\">Extraction du nom du snapshot et cr\u00e9ation de la sauvegarde<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 l&rsquo;\u00e9tape suivante, nous extrayons le nom du snapshot de la r\u00e9ponse JSON de la baie FlashArray \u00e0 l&rsquo;aide de<code>JSON_VALUE(@response, '$.result.items[0].name').<\/code> Ce nom sera inclus dans la description du support de sauvegarde dans le cadre d\u2019une sauvegarde avec m\u00e9tadonn\u00e9es uniquement. Si la baie FlashArray renvoie un code de r\u00e9ussite (code de retour = 0), nous proc\u00e9dons \u00e0 la sauvegarde \u00e0 l\u2019aide de la commande<code>BACKUP DATABASE<\/code> et de l\u2019<code>METADATA_ONLY<\/code>option. Cela cr\u00e9e un fichier de sauvegarde l\u00e9ger contenant uniquement les m\u00e9tadonn\u00e9es de la base de donn\u00e9es et une r\u00e9f\u00e9rence \u00e0 l&rsquo;instantan\u00e9 FlashArray dans la<code>MEDIADESCRIPTION<\/code>. Le stockage du nom du snapshot dans le MEDIADESCRIPTION facilite l&rsquo;identification et la localisation du snapshot FlashArray correspondant lors de l&rsquo;ex\u00e9cution d&rsquo;une op\u00e9ration de restauration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si l\u2019op\u00e9ration de snapshot \u00e9choue, nous enregistrons un message d\u2019erreur et d\u00e9bloquons imm\u00e9diatement la base de donn\u00e9es pour reprendre les I\/O d\u2019\u00e9criture normales.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>DECLARE @SnapshotName NVARCHAR(100)\nSET @SnapshotName = JSON_VALUE(@response, '$.result.items&#091;0].name')\n\nif ( @ret = 0 ) \n    BEGIN\n        BACKUP DATABASE &#091;TestDB1] TO DISK='SnapshotBack.bkm' WITH METADATA_ONLY, MEDIADESCRIPTION=@SnapshotName\n        PRINT 'Snapshot backup successful. Snapshot Name: ' + @SnapshotName\n    END\nELSE \n    BEGIN\n        ALTER DATABASE &#091;TestDB1] SET SUSPEND_FOR_SNAPSHOT_BACKUP = OFF\n        PRINT 'Error in REST call, snapshot backup failed. Database unsuspended.'\n    END\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"checking-the-sql-server-error-log\">V\u00e9rification du journal d\u2019erreurs SQL Server<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pour v\u00e9rifier notre fonctionnement de sauvegarde, nous v\u00e9rifions le journal d\u2019erreurs SQL Server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le journal d\u2019erreurs SQL Server confirme que la sauvegarde par snapshot de la base de donn\u00e9es TestDB1 a r\u00e9ussi uniquement avec les m\u00e9tadonn\u00e9es. Le journal indique que la base de donn\u00e9es a \u00e9t\u00e9 suspendue, que les I\/O en \u00e9criture ont \u00e9t\u00e9 gel\u00e9es et que l\u2019instantan\u00e9 a \u00e9t\u00e9 pris avant que les I\/O ne reprennent en toute s\u00e9curit\u00e9. Puisqu\u2019il s\u2019agit d\u2019une sauvegarde avec m\u00e9tadonn\u00e9es uniquement, aucune page de donn\u00e9es n\u2019a \u00e9t\u00e9 trait\u00e9e\u00a0; seules les m\u00e9tadonn\u00e9es ont \u00e9t\u00e9 captur\u00e9es et \u00e9crites dans le fichier<code>.bkm<\/code> sp\u00e9cifi\u00e9. Cela garantit un snapshot coh\u00e9rent avec les applications, avec un impact minimal sur la disponibilit\u00e9 de la base de donn\u00e9es.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>EXEC xp_readerrorlog 0, 1, NULL, NULL, NULL, NULL, N'desc'\n\n2025-05-09 12:03:25.120 Backup  BACKUP DATABASE successfully processed 0 pages in 0.004 seconds (0.000 MB\/sec).\n2025-05-09 12:03:25.090 Backup  Database backed up. Database: TestDB1, creation date(time): 2025\/04\/30(16:05:02), pages dumped: 394061770, first LSN: 80323:19757:39, last LSN: 80323:19774:1, number of dump devices: 1, device information: (FILE=12, TYPE=DISK: {'C:\\Program Files\\Microsoft SQL Server\\MSSQL17.MSSQLSERVER\\MSSQL\\Backup\\SnapshotBack.bkm'}). This is an informational message only. No user action is required.\n2025-05-09 12:03:25.080 spid86  Database 'TestDB1' originally suspended for snapshot backup in session 86 successfully resumed in session 86.\n2025-05-09 12:03:25.080 spid86  Database 'TestDB1' released suspend locks in session 86.\n2025-05-09 12:03:25.080 spid86  I\/O was resumed on database TestDB1. No user action is required.\n2025-05-09 12:03:25.080 spid86  I\/O is frozen on database TestDB1. No user action is required. However, if I\/O is not resumed promptly, you could cancel the backup.\n2025-05-09 12:03:22.110 spid86  Database 'TestDB1' successfully suspended for snapshot backup in session 86.\n2025-05-09 12:03:22.110 spid86  I\/O is frozen on database TestDB1. No user action is required. However, if I\/O is not resumed promptly, you could cancel the backup.\n2025-05-09 12:03:22.070 spid86  Database 'TestDB1' acquired suspend locks in session 86.\n2025-05-09 12:03:22.070 spid86  Setting database option suspend_for_snapshot_backup to ON for database 'TestDB1'.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Voici le r\u00e9sultat des d\u00e9clarations imprim\u00e9es que nous avons utilis\u00e9es ci-dessus. La sauvegarde des snapshots s&rsquo;est termin\u00e9e avec succ\u00e8s\u00a0: le syst\u00e8me s&rsquo;est authentifi\u00e9 avec la baie FlashArray, a suspendu TestDB1 pour geler les I\/O, a cr\u00e9\u00e9 le snapshot <code>(aen-sql-25-a-pg.17),<\/code> a repris les I\/O et a fini par une sauvegarde uniquement bas\u00e9e sur les m\u00e9tadonn\u00e9es, le tout confirm\u00e9 par les journaux SQL Server et les r\u00e9ponses API.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Login Return Code: 0\nLogin Response: {\"response\":{\"status\":{\"http\":{\"code\":200,\"description\":\"\"}},\"headers\":{\"Date\":\"Fri, 09 May 2025 12:03:22 GMT\",\"Content-Length\":\"37\",\"Content-Type\":\"application\\\/json\",\"Server\":\"nginx\",\"x-auth-token\":\"75b2b984-a238-44ce-adbd-ff19decab148\",\"strict-transport-security\":\"max-age=31536000; includeSubDomains;\",\"content-security-policy\":\"frame-ancestors 'none'\",\"x-frame-options\":\"DENY\",\"x-content-type-options\":\"nosniff\",\"x-xss-protection\":\"1; mode=block\",\"x-request-id\":\"bdc6bbff70105c00fdeac8b0a1af565c\"}},\"result\":{\"items\":&#091;{\"username\":\"anocentino\"}]}}\n\nHeaders: {\"x-auth-token\":\"75b2b984-a238-44ce-adbd-ff19decab148\", \"Content-Type\":\"application\/json\"}\n\nDatabase 'TestDB1' acquired suspend locks in session 86.\nI\/O is frozen on database TestDB1. No user action is required. However, if I\/O is not resumed promptly, you could cancel the backup.\nDatabase 'TestDB1' successfully suspended for snapshot backup in session 86.\n\nSnapshot Return Code: 0\nSnapshot Response: {\"response\":{\"status\":{\"http\":{\"code\":200,\"description\":\"\"}},\"headers\":{\"Date\":\"Fri, 09 May 2025 12:03:22 GMT\",\"Content-Length\":\"340\",\"Content-Type\":\"application\\\/json\",\"Server\":\"nginx\",\"x-auth-token\":\"75b2b984-a238-44ce-adbd-ff19decab148\",\"strict-transport-security\":\"max-age=31536000; includeSubDomains;\",\"content-security-policy\":\"frame-ancestors 'none'\",\"x-frame-options\":\"DENY\",\"x-content-type-options\":\"nosniff\",\"x-xss-protection\":\"1; mode=block\",\"x-request-id\":\"e3089939224baca84d6ad69b485855de\"}},\"result\":{\"items\":&#091;{\"name\":\"aen-sql-25-a-pg.17\",\"id\":\"32e86de3-a3ee-3ae0-f74c-4bf5a7f74744\",\"space\":null,\"source\":{\"name\":\"aen-sql-25-a-pg\",\"id\":\"b6660b61-a8de-ae1b-cb65-e3045d13b5ba\"},\"suffix\":\"17\",\"destroyed\":false,\"created\":1746792202183,\"pod\":{\"name\":null,\"id\":null},\"time_remaining\":null,\"eradication_config\":{\"manual_eradication\":\"enabled\"}}]}}\n\nI\/O was resumed on database TestDB1. No user action is required.\nDatabase 'TestDB1' released suspend locks in session 86.\nDatabase 'TestDB1' originally suspended for snapshot backup in session 86 successfully resumed in session 86.\nProcessed 0 pages for database 'TestDB1', file 'test_data_01' on file 12.\nProcessed 0 pages for database 'TestDB1', file 'test_data_02' on file 12.\nProcessed 0 pages for database 'TestDB1', file 'test_data_03' on file 12.\nProcessed 0 pages for database 'TestDB1', file 'test_data_04' on file 12.\nProcessed 0 pages for database 'TestDB1', file 'test_data_05' on file 12.\nProcessed 0 pages for database 'TestDB1', file 'test_data_06' on file 12.\nProcessed 0 pages for database 'TestDB1', file 'test_data_07' on file 12.\nProcessed 0 pages for database 'TestDB1', file 'test_data_08' on file 12.\nBACKUP DATABASE successfully processed 0 pages in 0.004 seconds (0.000 MB\/sec).\n\nSnapshot backup successful. Snapshot Name: aen-sql-25-a-pg.17\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"wrapping-things-up\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cet exemple montre comment la nouvelle <code>sp_invoke_external_rest_endpoint<\/code>proc\u00e9dure de SQL Server 2025 transforme l\u2019automatisation des sauvegardes. Auparavant, l\u2019int\u00e9gration aux syst\u00e8mes de stockage n\u00e9cessitait PowerShell ou des outils externes. D\u00e9sormais, nous pouvons passer des appels d\u2019API REST en natif \u00e0 partir de T-SQL, ce qui simplifie les flux de travail et r\u00e9duit la complexit\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Principaux avantages\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Int\u00e9gration REST native<\/strong>\u00a0: Enfin, nous pouvons passer des appels API directement depuis T-SQL sans passer directement \u00e0 PowerShell ou \u00e0 d\u2019autres langages de script<\/li>\n\n\n\n<li><strong>Automatisation simplifi\u00e9e<\/strong>\u00a0: Construisez l\u2019ensemble de votre flux de sauvegarde en un seul endroit\u00a0: plus besoin de passer d\u2019un outil \u00e0 un autre<\/li>\n\n\n\n<li><strong>D\u00e9pendances r\u00e9duites<\/strong>\u00a0: \u00c9liminez les couches interm\u00e9diaires entre SQL Server et vos syst\u00e8mes de stockage\u00a0: moins de pi\u00e8ces mobiles, moins de points de d\u00e9faillance potentiels<\/li>\n\n\n\n<li><strong>S\u00e9curit\u00e9 renforc\u00e9e<\/strong>\u00a0: Maintenez votre authentification centralis\u00e9e dans SQL Server plut\u00f4t que dans des fichiers de script externes<\/li>\n\n\n\n<li><strong>Meilleures performances<\/strong>\u00a0: L\u2019ex\u00e9cution des op\u00e9rations dans SQL Server permet de r\u00e9duire les frais g\u00e9n\u00e9raux et d\u2019acc\u00e9l\u00e9rer les temps d\u2019ex\u00e9cution<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cette fonctionnalit\u00e9 \u00e9limine la commutation de contexte et int\u00e8gre des capacit\u00e9s d\u2019automatisation modernes dans le moteur de base de donn\u00e9es. Assurez-vous simplement de stocker en toute s\u00e9curit\u00e9 les jetons d\u2019API et de mettre en \u0153uvre une gestion appropri\u00e9e des erreurs en production.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En fin de compte, l\u2019int\u00e9gration REST de SQL Server 2025 est un atout majeur pour les DBA qui g\u00e8rent des environnements complexes et \u00e0 grande \u00e9chelle.<\/p>\n\n\n\n<div class=\"wp-block-group mobile-lighten-5 box-shadow position-relative banner-cta-until-blocks-img is-layout-flow wp-block-group-is-layout-flow has-background\" style=\"margin-top:20px;margin-bottom:20px;padding-top:20px;padding-right:20px;padding-bottom:10px;padding-left:20px;background-image:url(&apos;https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2024\/04\/defeat-randsomeware-fast-clean-recovery-data.png&apos;);background-size:cover;\">\n<div class=\"wp-block-columns are-vertically-aligned-center gap-0 banner-cta-until-blocks flex-direction-column is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center flex-basisis is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:190px\">\n<div class=\"wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-c3aed785 wp-block-group-is-layout-flex\" style=\"padding-top:10px;padding-bottom:10px\">\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2024\/04\/pure-logo-cropped.svg\" alt=\"Logo - Pure Storage - Recadr&#xE9;\" class=\"wp-image-139836\" style=\"width:160px;height:auto\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-nowrap is-layout-flex wp-container-core-buttons-is-layout-e31d464f wp-block-buttons-is-layout-flex block-visibility-hide-medium-screen block-visibility-hide-small-screen\" id=\"banner-cta-until-blocks-button\" style=\"margin-top:10px;margin-bottom:10px\">\n<div class=\"wp-block-button has-custom-font-size text-align-center banner-cta-until-blocks-button\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.208), 1rem);line-height:1.2\"><a class=\"wp-block-button__link has-tertiary-background-color has-background has-text-align-center wp-element-button\" href=\"https:\/\/www.purestorage.com\/solutions\/data-protection.html?utm_medium=ppc&amp;utm_source=google&amp;utm_campaign=brand&amp;utm_region=ams_all&amp;utm_content=refresh_brand_data_protection&amp;utm_creative=default&amp;utm_term=default&amp;utm_keyword=default&amp;cq_con=161076222155&amp;cq_term=pure%20storage%20ransomware&amp;cq_plac=&amp;cq_net=g&amp;cq_plt=gp&amp;gad_source=1&amp;gbraid=0AAAAADq2vDtaagpWlHD0GDJvd4bOl2VHL&amp;gclid=Cj0KCQjw0Oq2BhCCARIsAA5hubUxe0gvkfFsIkMXfQ5TxzXIcYQWNCUtGXSW3AdvjXp4f43Bthm60rwaAkoaEALw_wcB&amp;gclsrc=aw.ds\" style=\"padding-top:10px;padding-right:14px;padding-bottom:10px;padding-left:14px\">Restez calme et<br\/>Restauration activ\u00e9e<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:60%\">\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-f4c6b382 wp-block-group-is-layout-flex\">\n<h2 class=\"wp-block-heading has-contrast-color has-text-color has-link-color wp-elements-e1a88660a2c2bfe235d7f47c03a66270\" id=\"h-recover-your-data-before-you-have-to-tell-anyone-you-had-to-recover-it\" style=\"font-size:clamp(1.146rem, 1.146rem + ((1vw - 0.2rem) * 1.09), 1.8rem);line-height:1.2\">R\u00e9cup\u00e9rez vos donn\u00e9es avant d\u2019avoir \u00e0 dire \u00e0 quelqu\u2019un que vous deviez les r\u00e9cup\u00e9rer.<\/h2>\n\n\n\n<p class=\"has-contrast-color has-text-color has-link-color wp-elements-c0905b713655e4784ae00bda08ce9d89 wp-block-paragraph\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.208), 1rem);\">\u00c9liminez les Ransomware une reprise rapide et propre de vos donn\u00e9es.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-nowrap is-layout-flex wp-container-core-buttons-is-layout-e1dda8a7 wp-block-buttons-is-layout-flex block-visibility-hide-large-screen\" style=\"margin-top:30px;margin-bottom:30px\">\n<div class=\"wp-block-button has-custom-font-size banner-cta-until-blocks-button\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.208), 1rem);line-height:1.2\"><a class=\"wp-block-button__link has-tertiary-background-color has-background wp-element-button\" href=\"https:\/\/www.purestorage.com\/solutions\/data-protection.html?utm_medium=ppc&amp;utm_source=google&amp;utm_campaign=brand&amp;utm_region=ams_all&amp;utm_content=refresh_brand_data_protection&amp;utm_creative=default&amp;utm_term=default&amp;utm_keyword=default&amp;cq_con=161076222155&amp;cq_term=pure%20storage%20ransomware&amp;cq_plac=&amp;cq_net=g&amp;cq_plt=gp&amp;gad_source=1&amp;gbraid=0AAAAADq2vDtaagpWlHD0GDJvd4bOl2VHL&amp;gclid=Cj0KCQjw0Oq2BhCCARIsAA5hubUxe0gvkfFsIkMXfQ5TxzXIcYQWNCUtGXSW3AdvjXp4f43Bthm60rwaAkoaEALw_wcB&amp;gclsrc=aw.ds\" style=\"padding-top:10px;padding-right:14px;padding-bottom:10px;padding-left:14px\">Assurez votre calme et votre reprise<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:30%\">\n<div class=\"wp-block-group sticky-content has-mint-green-500-background-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:20px;padding-top:20px;padding-right:20px;padding-bottom:20px;padding-left:20px\">\n<h2 class=\"wp-block-heading has-text-align-center has-ash-gray-500-color has-text-color has-link-color wp-elements-7916afff6dc385072d1ef7ff006e792b\" id=\"h-title\" style=\"font-size:px\">Dynamic Storage<\/h2>\n\n\n\n<p class=\"has-text-align-center has-ash-gray-500-color has-text-color has-link-color wp-elements-7eaae36b543cfda117391ba361a88ed0 wp-block-paragraph\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.208), 1rem);\">Learn more about high-performance, all-flash storage.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-f8bdad00 wp-block-buttons-is-layout-flex\" style=\"margin-top:1em;margin-bottom:1em\">\n<div class=\"wp-block-button is-style-outline button-sticky is-style-outline--2\"><a class=\"wp-block-button__link has-cloud-white-500-color has-basil-green-500-background-color has-text-color has-background has-link-color has-inter-font-family has-custom-font-size wp-element-button\" href=\"https:\/\/www.purestorage.com\/products\/unified-block-file-storage.html\" style=\"border-style:none;border-width:0px;border-radius:4px;padding-top:14px;padding-right:16px;padding-bottom:14px;padding-left:16px;font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.208), 16px);\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Explore FlashArray<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>SQL Server 2025 offre une nouvelle fonctionnalit\u00e9 puissante qui facilite l\u2019appel d\u2019API REST directement depuis T-SQL. Ici, nous voyons comment l\u2019utiliser avec l\u2019API Pure Storage pour orchestrer les op\u00e9rations de snapshot.<\/p>\n","protected":false},"author":602,"featured_media":163559,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[13870],"tags":[15167,13982,15197,14036,13032,16136],"content-position":[],"ppma_author":[14448],"class_list":["post-164906","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-purely-technical","tag-cyber-resiliency-fr","tag-data-backup-and-recovery-fr","tag-database-fr","tag-pure-safemode-fr","tag-sql-server","tag-sql-server-fr"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v28.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Rationalisation des sauvegardes de snapshots T-SQL | Everpure Blog<\/title>\n<meta name=\"description\" content=\"Ici, nous verrons comment utiliser une nouvelle fonctionnalit\u00e9 SQL Server 2025 avec l\u2019API Pure Storage pour rationaliser les sauvegardes de snapshots T-SQL\" \/>\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.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Int\u00e9gration de l\u2019API REST T-SQL dans SQL Server 2025\u00a0: Rationalisation des sauvegardes de snapshots T-SQL\" \/>\n<meta property=\"og:description\" content=\"Ici, nous verrons comment utiliser une nouvelle fonctionnalit\u00e9 SQL Server 2025 avec l\u2019API Pure Storage pour rationaliser les sauvegardes de snapshots T-SQL\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/\" \/>\n<meta property=\"og:site_name\" content=\"Everpure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/PureStorage\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-19T17:33:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-17T14:57:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2025\/05\/Streamlining-T-SQL-Snapshot-Backups.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1650\" \/>\n\t<meta property=\"og:image:height\" content=\"1064\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Anthony Nocentino\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@EverpureData\" \/>\n<meta name=\"twitter:site\" content=\"@EverpureData\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anthony Nocentino\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/\"},\"author\":{\"name\":\"Anthony Nocentino\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/#\\\/schema\\\/person\\\/cada41552b5f5d21b7bb1313929412eb\"},\"headline\":\"Int\u00e9gration de l\u2019API REST T-SQL dans SQL Server 2025\u00a0: Rationalisation des sauvegardes de snapshots T-SQL\",\"datePublished\":\"2025-05-19T17:33:50+00:00\",\"dateModified\":\"2025-06-17T14:57:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/\"},\"wordCount\":1494,\"publisher\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.everpuredata.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Streamlining-T-SQL-Snapshot-Backups.webp\",\"keywords\":[\"Cyber Resilience\",\"Data Backup and Recovery\",\"Database\",\"SafeMode Snapshots\",\"SQL Server\",\"SQL Server\"],\"articleSection\":[\"Purely Technical\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/\",\"url\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/\",\"name\":\"Rationalisation des sauvegardes de snapshots T-SQL | Everpure Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.everpuredata.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Streamlining-T-SQL-Snapshot-Backups.webp\",\"datePublished\":\"2025-05-19T17:33:50+00:00\",\"dateModified\":\"2025-06-17T14:57:48+00:00\",\"description\":\"Ici, nous verrons comment utiliser une nouvelle fonctionnalit\u00e9 SQL Server 2025 avec l\u2019API Pure Storage pour rationaliser les sauvegardes de snapshots T-SQL\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blog.everpuredata.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Streamlining-T-SQL-Snapshot-Backups.webp\",\"contentUrl\":\"https:\\\/\\\/blog.everpuredata.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Streamlining-T-SQL-Snapshot-Backups.webp\",\"width\":1650,\"height\":1064,\"caption\":\"Streamlining T-SQL Snapshot Backups\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Int\u00e9gration de l\u2019API REST T-SQL dans SQL Server 2025\u00a0: Rationalisation des sauvegardes de snapshots T-SQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/\",\"name\":\"Everpure Blog\",\"description\":\"Unleash the power of your data with an intelligent, unified storage and data management platform built for resilience and AI.\",\"publisher\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/#organization\",\"name\":\"Everpure\",\"alternateName\":\"Pure Storage\",\"url\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/blog.everpuredata.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/Everpure-Logo-Ash-Gray.png\",\"contentUrl\":\"https:\\\/\\\/blog.everpuredata.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/Everpure-Logo-Ash-Gray.png\",\"width\":2000,\"height\":342,\"caption\":\"Everpure\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/PureStorage\\\/\",\"https:\\\/\\\/x.com\\\/EverpureData\",\"https:\\\/\\\/www.instagram.com\\\/purestorage\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/everpure-data\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@everpure-data\",\"https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/Pure_Storage\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/#\\\/schema\\\/person\\\/cada41552b5f5d21b7bb1313929412eb\",\"name\":\"Anthony Nocentino\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/Anthony-Noncentino.png001f31d95d657c3ea42649b1b5d81d07\",\"url\":\"https:\\\/\\\/blog.everpuredata.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/Anthony-Noncentino.png\",\"contentUrl\":\"https:\\\/\\\/blog.everpuredata.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/Anthony-Noncentino.png\",\"caption\":\"Anthony Nocentino\"},\"description\":\"Anthony is a Principal Field Solution Architect at Everpure as well as a Pluralsight Author, a Microsoft Data Platform MVP, Linux Expert, and Corporate Problem Solver. Anthony designs solutions, deploys the technology, and provides expertise on business system performance, architecture, and security. Anthony has a Bachelors and Masters in Computer Science with research publications in high performance\\\/low latency data access algorithms and spatial database systems.\",\"url\":\"https:\\\/\\\/blog.everpuredata.com\\\/fr\\\/author\\\/anthony-nocentino\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Rationalisation des sauvegardes de snapshots T-SQL | Everpure Blog","description":"Ici, nous verrons comment utiliser une nouvelle fonctionnalit\u00e9 SQL Server 2025 avec l\u2019API Pure Storage pour rationaliser les sauvegardes de snapshots T-SQL","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.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/","og_locale":"fr_FR","og_type":"article","og_title":"Int\u00e9gration de l\u2019API REST T-SQL dans SQL Server 2025\u00a0: Rationalisation des sauvegardes de snapshots T-SQL","og_description":"Ici, nous verrons comment utiliser une nouvelle fonctionnalit\u00e9 SQL Server 2025 avec l\u2019API Pure Storage pour rationaliser les sauvegardes de snapshots T-SQL","og_url":"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/","og_site_name":"Everpure Blog","article_publisher":"https:\/\/www.facebook.com\/PureStorage\/","article_published_time":"2025-05-19T17:33:50+00:00","article_modified_time":"2025-06-17T14:57:48+00:00","og_image":[{"width":1650,"height":1064,"url":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2025\/05\/Streamlining-T-SQL-Snapshot-Backups.webp","type":"image\/webp"}],"author":"Anthony Nocentino","twitter_card":"summary_large_image","twitter_creator":"@EverpureData","twitter_site":"@EverpureData","twitter_misc":{"\u00c9crit par":"Anthony Nocentino","Dur\u00e9e de lecture estim\u00e9e":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/#article","isPartOf":{"@id":"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/"},"author":{"name":"Anthony Nocentino","@id":"https:\/\/blog.everpuredata.com\/fr\/#\/schema\/person\/cada41552b5f5d21b7bb1313929412eb"},"headline":"Int\u00e9gration de l\u2019API REST T-SQL dans SQL Server 2025\u00a0: Rationalisation des sauvegardes de snapshots T-SQL","datePublished":"2025-05-19T17:33:50+00:00","dateModified":"2025-06-17T14:57:48+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/"},"wordCount":1494,"publisher":{"@id":"https:\/\/blog.everpuredata.com\/fr\/#organization"},"image":{"@id":"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2025\/05\/Streamlining-T-SQL-Snapshot-Backups.webp","keywords":["Cyber Resilience","Data Backup and Recovery","Database","SafeMode Snapshots","SQL Server","SQL Server"],"articleSection":["Purely Technical"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/","url":"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/","name":"Rationalisation des sauvegardes de snapshots T-SQL | Everpure Blog","isPartOf":{"@id":"https:\/\/blog.everpuredata.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/#primaryimage"},"image":{"@id":"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2025\/05\/Streamlining-T-SQL-Snapshot-Backups.webp","datePublished":"2025-05-19T17:33:50+00:00","dateModified":"2025-06-17T14:57:48+00:00","description":"Ici, nous verrons comment utiliser une nouvelle fonctionnalit\u00e9 SQL Server 2025 avec l\u2019API Pure Storage pour rationaliser les sauvegardes de snapshots T-SQL","breadcrumb":{"@id":"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/#primaryimage","url":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2025\/05\/Streamlining-T-SQL-Snapshot-Backups.webp","contentUrl":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2025\/05\/Streamlining-T-SQL-Snapshot-Backups.webp","width":1650,"height":1064,"caption":"Streamlining T-SQL Snapshot Backups"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.everpuredata.com\/fr\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.everpuredata.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Int\u00e9gration de l\u2019API REST T-SQL dans SQL Server 2025\u00a0: Rationalisation des sauvegardes de snapshots T-SQL"}]},{"@type":"WebSite","@id":"https:\/\/blog.everpuredata.com\/fr\/#website","url":"https:\/\/blog.everpuredata.com\/fr\/","name":"Everpure Blog","description":"Unleash the power of your data with an intelligent, unified storage and data management platform built for resilience and AI.","publisher":{"@id":"https:\/\/blog.everpuredata.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.everpuredata.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.everpuredata.com\/fr\/#organization","name":"Everpure","alternateName":"Pure Storage","url":"https:\/\/blog.everpuredata.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.everpuredata.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2026\/08\/Everpure-Logo-Ash-Gray.png","contentUrl":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2026\/08\/Everpure-Logo-Ash-Gray.png","width":2000,"height":342,"caption":"Everpure"},"image":{"@id":"https:\/\/blog.everpuredata.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/PureStorage\/","https:\/\/x.com\/EverpureData","https:\/\/www.instagram.com\/purestorage\/","https:\/\/www.linkedin.com\/company\/everpure-data\/","https:\/\/www.youtube.com\/@everpure-data","https:\/\/en.wikipedia.org\/wiki\/Pure_Storage"]},{"@type":"Person","@id":"https:\/\/blog.everpuredata.com\/fr\/#\/schema\/person\/cada41552b5f5d21b7bb1313929412eb","name":"Anthony Nocentino","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2024\/12\/Anthony-Noncentino.png001f31d95d657c3ea42649b1b5d81d07","url":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2024\/12\/Anthony-Noncentino.png","contentUrl":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2024\/12\/Anthony-Noncentino.png","caption":"Anthony Nocentino"},"description":"Anthony is a Principal Field Solution Architect at Everpure as well as a Pluralsight Author, a Microsoft Data Platform MVP, Linux Expert, and Corporate Problem Solver. Anthony designs solutions, deploys the technology, and provides expertise on business system performance, architecture, and security. Anthony has a Bachelors and Masters in Computer Science with research publications in high performance\/low latency data access algorithms and spatial database systems.","url":"https:\/\/blog.everpuredata.com\/fr\/author\/anthony-nocentino\/"}]}},"authors":[{"term_id":14448,"user_id":602,"is_guest":0,"slug":"anthony-nocentino","display_name":"Anthony Nocentino","avatar_url":{"url":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2024\/12\/Anthony-Noncentino.png","url2x":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2024\/12\/Anthony-Noncentino.png"},"author_category":"","first_name":"Anthony","last_name":"Nocentino","user_url":"","job_title":"","description":"Anthony is a Principal Field Solution Architect at Pure Storage as well as a Pluralsight Author, a Microsoft Data Platform MVP, Linux Expert, and Corporate Problem Solver. Anthony designs solutions, deploys the technology, and provides expertise on business system performance, architecture, and security. Anthony has a Bachelors and Masters in Computer Science with research publications in high performance\/low latency data access algorithms and spatial database systems."}],"_links":{"self":[{"href":"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/posts\/164906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/users\/602"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/comments?post=164906"}],"version-history":[{"count":0,"href":"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/posts\/164906\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/media\/163559"}],"wp:attachment":[{"href":"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/media?parent=164906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/categories?post=164906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/tags?post=164906"},{"taxonomy":"content-position","embeddable":true,"href":"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/content-position?post=164906"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.everpuredata.com\/fr\/wp-json\/wp\/v2\/ppma_author?post=164906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}