{"id":164907,"date":"2025-05-19T10:33:50","date_gmt":"2025-05-19T17:33:50","guid":{"rendered":"https:\/\/blog.everpuredata.com\/?p=164907"},"modified":"2025-06-17T07:58:56","modified_gmt":"2025-06-17T14:58:56","slug":"sql-server-2025-streamlining-t-sql-snapshot-backups","status":"publish","type":"post","link":"https:\/\/blog.everpuredata.com\/le\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/","title":{"rendered":"Integraci\u00f3n de REST REST API T-SQL en SQL Server 2025: Optimizaci\u00f3n de las copias de seguridad de snapshots de 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\">Resumen<\/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\/le\/wp-json\/wp\/v2\/posts\/164907?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=\"View PDF\" \/><\/a><a href=\"https:\/\/blog.everpuredata.com\/le\/wp-json\/wp\/v2\/posts\/164907?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=\"Print Content\" \/><\/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>Este art\u00edculo apareci\u00f3 originalmente en el <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 de Anthony Nocentino<\/a>. Se ha vuelto a publicar con el cr\u00e9dito y consentimiento del autor.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En esta publicaci\u00f3n, lo guiar\u00e9 a trav\u00e9s de un gui\u00f3n de T-SQL que crea snapshots consistentes con la aplicaci\u00f3n en 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>, todo desde SQL Server, sin herramientas externas. SQL Server 2025 presenta una nueva funci\u00f3n potente: el procedimiento <em>sp_invoke_external_rest_endpoint<\/em> almacenado. Esta mejora hace que sea m\u00e1s f\u00e1cil que nunca llamar a las API de REST directamente desde T-SQL. Al combinar esta nueva capacidad con la API de Pure Storage, podemos organizar las operaciones de snapshots sin problemas, sin necesidad de herramientas externas ni scripts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si ha estado siguiendo mi <a href=\"https:\/\/blog.everpuredata.com\/author\/anthony-nocentino\/\" target=\"_blank\" rel=\"noreferrer noopener\">serie \u201cUso de la copia de seguridad de snapshots T-SQL\u201d,<\/a> sabe que esta funci\u00f3n ofrece enormes beneficios para entornos de bases de datos grandes. Hoy, analizaremos c\u00f3mo implementar esto directamente en T-SQL al aprovechar la capacidad de SQL Server para llamar a los puntos finales REST externos, sin necesidad de PowerShell.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ectamente en T-SQL al aprovechar la capacidad de SQL Server para llamar a puntos finales REST externos, no se requiere PowerShell.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Puede tomar todo el <a href=\"https:\/\/gist.github.com\/nocentino\/e5a9579529eaeccdc85107ba5dbb0294\">gui\u00f3naqu\u00ed<\/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\">Habilitaci\u00f3n del punto final REST en SQL Server 2025<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Primero, asegur\u00e9monos de que podamos conectarnos a puntos finales REST externos:<\/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\">Esto habilita la funci\u00f3n de punto final REST de SQL Server, que permite que nuestro SQL Server realice llamadas salientes a la API REST. Esto es fundamental para conectarse a la API de FlashArray para activar snapshots.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es importante tener en cuenta <code>sp_invoke_external_rest_endpoint<\/code>querequiere que todos los puntos finales usen HTTPS con cifrado TLS, y el certificado debe ser confiable por el sistema operativo subyacente que aloja la instancia de SQL Server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"authenticating-with-the-flasharray\">Autenticaci\u00f3n con FlashArray<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n, estableceremos una sesi\u00f3n segura con FlashArray de Pure Storage utilizando el nuevo procedimiento <code>sp_invoke_external_rest_endpoint<\/code>almacenado de SQL Server 2025. Esta funci\u00f3n representa un avance significativo en las capacidades de SQL Server, lo que nos permite realizar llamadas de REST API directamente desde T-SQL sin secuencias de comandos externas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para autenticar un FlashArray, primero enviamos <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\">untoken API <\/a>conpermisos suficientes al punto final de inicio de sesi\u00f3n de FlashArray. Tras la autenticaci\u00f3n exitosa, FlashArray devuelve un <code>token de autenticaci\u00f3n en<\/code> los encabezados de respuesta, lo que se convierte en nuestra credencial de sesi\u00f3n para todas las operaciones de API posteriores en esta sesi\u00f3n. Este modelo de autenticaci\u00f3n basado en tokens proporciona un mecanismo seguro y limitado por tiempo para las interacciones de API mientras mantiene un seguimiento de auditor\u00eda claro de las operaciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En el siguiente c\u00f3digo, ejecutaremos esta solicitud de autenticaci\u00f3n y luego extraeremos el <code>token de autorizaci\u00f3n de<\/code> la respuesta JSON para crear nuestros encabezados de autorizaci\u00f3n para las llamadas posteriores a la API REST.<\/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\">Manejo de errores y extracci\u00f3n de tokens<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n, verificaremos el \u00e9xito del inicio de sesi\u00f3n y extraeremos el token de autenticaci\u00f3n. Si el c\u00f3digo de devoluci\u00f3n de FlashArray no es 0, imprimiremos un mensaje de error y saldremos. Asumiendo el \u00e9xito, leeremos <code>eltoken de autorizaci\u00f3n de la respuesta<\/code> de inicio de sesi\u00f3n. Tenga en cuenta que la clave de token debe incluir comillas dobles<code>\"x-auth-token\"<\/code>para garantizar <code>JSON_VALUE<\/code>que pueda analizarse correctamente. Una vez extra\u00eddo, usaremos el token para construir el encabezado de autorizaci\u00f3n para las llamadas posteriores de REST API a la matriz.<\/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\">Congelaci\u00f3n de la base de datos para snapshots<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El paso crucial viene: suspender la I\/O de escritura de la base de datos para prepararse para la instant\u00e1nea. Este comando utiliza la funci\u00f3n de copia de seguridad de snapshots T-SQL de SQL Server 2022 para congelar las operaciones de I\/O de escritura en la base de datos. La base de datos sigue siendo legible, pero las operaciones de escritura se suspenden hasta que completamos nuestro proceso de snapshot. Esto garantiza que obtengamos una instant\u00e1nea consistente con la aplicaci\u00f3n.<\/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\">Toma de la instant\u00e1nea de almacenamiento<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Con I\/O escritura congelada en la base de datos, estamos listos para tomar una instant\u00e1nea en FlashArray. El siguiente paso es llamar al punto final<code>protection-group-snapshots<\/code>REST RESTpara iniciar una copia de seguridad instant\u00e1nea del grupo de protecci\u00f3n.<\/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\">Aqu\u00ed, llamamos al punto final de <code>snapshots del grupo de protecci\u00f3n<\/code> de API REST de FlashArray para crear una instant\u00e1nea de un grupo de protecci\u00f3n llamado<code>aen-sql-25-a-pg<\/code>. El grupo de protecci\u00f3n debe contener todos los vol\u00famenes donde se almacenan los archivos de nuestra base de datos. FlashArray crear\u00e1 una instant\u00e1nea en un momento determinado de todos los vol\u00famenes de este grupo de protecci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"extracting-the-snapshot-name-and-creating-the-backup\">Extraer el nombre de la instant\u00e1nea y crear la copia de seguridad<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En el siguiente paso, extraemos el nombre de la instant\u00e1nea de la respuesta JSON de FlashArray usando<code>JSON_VALUE(@response, '$.result.items[0].name').<\/code> Este nombre se incluir\u00e1 en la descripci\u00f3n de medios de copia de seguridad como parte de una copia de seguridad solo de metadatos. Si FlashArray devuelve un c\u00f3digo de \u00e9xito (c\u00f3digo de devoluci\u00f3n = 0), procederemos con la copia de seguridad usando el comando<code>BACKUP DATABASE<\/code> y la <code>METADATA_ONLY<\/code>opci\u00f3n. Esto crea un archivo de copia de seguridad liviano que contiene solo los metadatos de la base de datos y una referencia a la snapshot de FlashArray en <code>MEDIADESCRIPTION<\/code>. Al almacenar el nombre de la snapshot en MEDIADESCRIPTION, es m\u00e1s f\u00e1cil identificar y ubicar la snapshot de FlashArray correspondiente cuando se realiza una operaci\u00f3n de restauraci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si la operaci\u00f3n de snapshot falla, registramos un mensaje de error y dessuspendemos inmediatamente la base de datos para reanudar la I\/O escritura normal.<\/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\">Verificaci\u00f3n del registro de errores de SQL Server<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para verificar nuestra operaci\u00f3n de copia de seguridad, verificamos el registro de errores de SQL Server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El registro de errores de SQL Server confirma una copia de seguridad exitosa de la base de datos TestDB1 solo para metadatos. El registro muestra que la base de datos se suspendi\u00f3, la I\/O escritura se congel\u00f3 y la instant\u00e1nea se tom\u00f3 antes de que se reanudara la I\/O de manera segura. Dado que esta es una copia de seguridad solo de metadatos, no se procesaron p\u00e1ginas de datos; solo se capturaron y escribieron metadatos en el archivo<code>.bkm<\/code> especificado. Esto garantiza una instant\u00e1nea consistente con la aplicaci\u00f3n con un impacto m\u00ednimo en la disponibilidad de la base de datos.<\/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\">Este es el resultado de las declaraciones impresas que usamos anteriormente. La copia de seguridad de la snapshot se complet\u00f3 correctamente: el sistema se autentic\u00f3 con FlashArray, suspendi\u00f3 TestDB1 para congelar I\/O, cre\u00f3 la snapshot <code>(aen-sql-25-a-pg.17),<\/code> reanud\u00f3 I\/O y finaliz\u00f3 con una copia de seguridad solo de metadatos, todo confirmado a trav\u00e9s de registros de SQL Server y respuestas de 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\">Resumen de las cosas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Este ejemplo destaca c\u00f3mo el nuevo <code>sp_invoke_external_rest_endpoint<\/code>procedimiento de SQL Server 2025transforma la automatizaci\u00f3n de la copia de seguridad. Anteriormente, la integraci\u00f3n con los sistemas de almacenamiento requer\u00eda PowerShell o herramientas externas. Ahora, podemos realizar llamadas de REST API de forma nativa desde T-SQL, lo que agiliza los flujos de trabajo y reduce la complejidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beneficios clave:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Integraci\u00f3n de REST nativa<\/strong>: Por \u00faltimo, podemos realizar llamadas API directamente desde T-SQL sin pasar a PowerShell u otros idiomas de scripting.<\/li>\n\n\n\n<li><strong>Automatizaci\u00f3n simplificada<\/strong>: Desarrolle todo su flujo de trabajo de copia de seguridad en un solo lugar, sin m\u00e1s contexto que cambie entre diferentes herramientas<\/li>\n\n\n\n<li><strong>Dependencias reducidas<\/strong>: Elimine esas capas intermedias entre SQL Server y sus sistemas de almacenamiento: menos piezas m\u00f3viles significa menos puntos de falla potenciales.<\/li>\n\n\n\n<li><strong>Seguridad mejorada<\/strong>: Mantenga su autenticaci\u00f3n centralizada dentro de SQL Server en lugar de hacerlo en archivos de script externos<\/li>\n\n\n\n<li><strong>Mejor rendimiento<\/strong>: La ejecuci\u00f3n de operaciones dentro de SQL Server significa menores costos generales y tiempos de ejecuci\u00f3n m\u00e1s r\u00e1pidos.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Esta funci\u00f3n elimina el cambio de contexto y aporta capacidades de automatizaci\u00f3n modernas al motor de la base de datos. Solo aseg\u00farese de almacenar de forma segura los tokens de API e implementar el manejo de errores adecuado en la producci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La conclusi\u00f3n es que la integraci\u00f3n REST de SQL Server 2025 es una gran victoria para los administradores de bases de datos que administran entornos complejos a gran escala.<\/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=\"Logotipo - Pure Storage - Recortado\" 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\">Mantenga la calma y<br\/>Recupere el<\/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-2c21dd43f0f483460682437d7fee1e22\" 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\">Recupere sus datos antes de tener que decirle a alguien que tuvo que recuperarlos.<\/h2>\n\n\n\n<p class=\"has-contrast-color has-text-color has-link-color wp-elements-73c04871d381e77c55198c8339296f55 wp-block-paragraph\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.208), 1rem);\">Derrote el Ransomware con una recuperaci\u00f3n r\u00e1pida y limpia de sus datos.<\/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\">Mantenga la calma y la recuperaci\u00f3n activa<\/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-e03b5ed8732ebcc2a11722d5fcc4b3e7\" 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-9223d3748670e48fb7ad2356cd860fe8 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 ofrece una nueva funci\u00f3n potente que facilita la llamada a las API REST directamente desde T-SQL. Aqu\u00ed, analizamos c\u00f3mo usarlo con la API de Pure Storage para organizar las operaciones de snapshots.<\/p>\n","protected":false},"author":602,"featured_media":163566,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[14632],"tags":[14576,14601,15193,14602,13032,14638],"content-position":[],"ppma_author":[14448],"class_list":["post-164907","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-purely-technical","tag-cyber-resiliency-le","tag-data-backup-and-recovery-le","tag-database-le","tag-pure-safemode-le","tag-sql-server","tag-sql-server-le"],"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>Optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL | Everpure Blog<\/title>\n<meta name=\"description\" content=\"Aqu\u00ed, analizamos c\u00f3mo usar una nueva funci\u00f3n de SQL Server 2025 con la API de Pure Storage con la optimizaci\u00f3n de las copias de seguridad de snapshots de 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\/le\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/\" \/>\n<meta property=\"og:locale\" content=\"es_LA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Integraci\u00f3n de REST REST API T-SQL en SQL Server 2025: Optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL\" \/>\n<meta property=\"og:description\" content=\"Aqu\u00ed, analizamos c\u00f3mo usar una nueva funci\u00f3n de SQL Server 2025 con la API de Pure Storage con la optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.everpuredata.com\/le\/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:58:56+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=\"@purestorage\" \/>\n<meta name=\"twitter:site\" content=\"@purestorage\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anthony Nocentino\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\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\\\/le\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/\"},\"author\":{\"name\":\"Anthony Nocentino\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/#\\\/schema\\\/person\\\/cada41552b5f5d21b7bb1313929412eb\"},\"headline\":\"Integraci\u00f3n de REST REST API T-SQL en SQL Server 2025: Optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL\",\"datePublished\":\"2025-05-19T17:33:50+00:00\",\"dateModified\":\"2025-06-17T14:58:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/\"},\"wordCount\":1407,\"publisher\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/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\":\"es-LA\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/\",\"url\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/\",\"name\":\"Optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL | Everpure Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/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:58:56+00:00\",\"description\":\"Aqu\u00ed, analizamos c\u00f3mo usar una nueva funci\u00f3n de SQL Server 2025 con la API de Pure Storage con la optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/#breadcrumb\"},\"inLanguage\":\"es-LA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es-LA\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/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\\\/le\\\/purely-technical\\\/sql-server-2025-streamlining-t-sql-snapshot-backups\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integraci\u00f3n de REST REST API T-SQL en SQL Server 2025: Optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/#website\",\"url\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/\",\"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\\\/le\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es-LA\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/#organization\",\"name\":\"Pure Storage\",\"url\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-LA\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/blog.everpuredata.com\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/download-5.png\",\"contentUrl\":\"https:\\\/\\\/blog.everpuredata.com\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/download-5.png\",\"width\":302,\"height\":167,\"caption\":\"Pure Storage\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/PureStorage\",\"https:\\\/\\\/x.com\\\/purestorage\",\"https:\\\/\\\/www.instagram.com\\\/purestorage\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/pure-storage\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/purestorage\",\"https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/Pure_Storage\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.everpuredata.com\\\/le\\\/#\\\/schema\\\/person\\\/cada41552b5f5d21b7bb1313929412eb\",\"name\":\"Anthony Nocentino\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-LA\",\"@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\\\/le\\\/author\\\/anthony-nocentino\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL | Everpure Blog","description":"Aqu\u00ed, analizamos c\u00f3mo usar una nueva funci\u00f3n de SQL Server 2025 con la API de Pure Storage con la optimizaci\u00f3n de las copias de seguridad de snapshots de 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\/le\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/","og_locale":"es_LA","og_type":"article","og_title":"Integraci\u00f3n de REST REST API T-SQL en SQL Server 2025: Optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL","og_description":"Aqu\u00ed, analizamos c\u00f3mo usar una nueva funci\u00f3n de SQL Server 2025 con la API de Pure Storage con la optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL.","og_url":"https:\/\/blog.everpuredata.com\/le\/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:58:56+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":"@purestorage","twitter_site":"@purestorage","twitter_misc":{"Written by":"Anthony Nocentino","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.everpuredata.com\/le\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/#article","isPartOf":{"@id":"https:\/\/blog.everpuredata.com\/le\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/"},"author":{"name":"Anthony Nocentino","@id":"https:\/\/blog.everpuredata.com\/le\/#\/schema\/person\/cada41552b5f5d21b7bb1313929412eb"},"headline":"Integraci\u00f3n de REST REST API T-SQL en SQL Server 2025: Optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL","datePublished":"2025-05-19T17:33:50+00:00","dateModified":"2025-06-17T14:58:56+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.everpuredata.com\/le\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/"},"wordCount":1407,"publisher":{"@id":"https:\/\/blog.everpuredata.com\/le\/#organization"},"image":{"@id":"https:\/\/blog.everpuredata.com\/le\/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":"es-LA"},{"@type":"WebPage","@id":"https:\/\/blog.everpuredata.com\/le\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/","url":"https:\/\/blog.everpuredata.com\/le\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/","name":"Optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL | Everpure Blog","isPartOf":{"@id":"https:\/\/blog.everpuredata.com\/le\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.everpuredata.com\/le\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/#primaryimage"},"image":{"@id":"https:\/\/blog.everpuredata.com\/le\/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:58:56+00:00","description":"Aqu\u00ed, analizamos c\u00f3mo usar una nueva funci\u00f3n de SQL Server 2025 con la API de Pure Storage con la optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL.","breadcrumb":{"@id":"https:\/\/blog.everpuredata.com\/le\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/#breadcrumb"},"inLanguage":"es-LA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.everpuredata.com\/le\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/"]}]},{"@type":"ImageObject","inLanguage":"es-LA","@id":"https:\/\/blog.everpuredata.com\/le\/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\/le\/purely-technical\/sql-server-2025-streamlining-t-sql-snapshot-backups\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.everpuredata.com\/le\/"},{"@type":"ListItem","position":2,"name":"Integraci\u00f3n de REST REST API T-SQL en SQL Server 2025: Optimizaci\u00f3n de las copias de seguridad de snapshots de T-SQL"}]},{"@type":"WebSite","@id":"https:\/\/blog.everpuredata.com\/le\/#website","url":"https:\/\/blog.everpuredata.com\/le\/","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\/le\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.everpuredata.com\/le\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es-LA"},{"@type":"Organization","@id":"https:\/\/blog.everpuredata.com\/le\/#organization","name":"Pure Storage","url":"https:\/\/blog.everpuredata.com\/le\/","logo":{"@type":"ImageObject","inLanguage":"es-LA","@id":"https:\/\/blog.everpuredata.com\/le\/#\/schema\/logo\/image\/","url":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2019\/08\/download-5.png","contentUrl":"https:\/\/blog.everpuredata.com\/wp-content\/uploads\/2019\/08\/download-5.png","width":302,"height":167,"caption":"Pure Storage"},"image":{"@id":"https:\/\/blog.everpuredata.com\/le\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/PureStorage","https:\/\/x.com\/purestorage","https:\/\/www.instagram.com\/purestorage","https:\/\/www.linkedin.com\/company\/pure-storage","https:\/\/www.youtube.com\/user\/purestorage","https:\/\/en.wikipedia.org\/wiki\/Pure_Storage"]},{"@type":"Person","@id":"https:\/\/blog.everpuredata.com\/le\/#\/schema\/person\/cada41552b5f5d21b7bb1313929412eb","name":"Anthony Nocentino","image":{"@type":"ImageObject","inLanguage":"es-LA","@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\/le\/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\/le\/wp-json\/wp\/v2\/posts\/164907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.everpuredata.com\/le\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.everpuredata.com\/le\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.everpuredata.com\/le\/wp-json\/wp\/v2\/users\/602"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.everpuredata.com\/le\/wp-json\/wp\/v2\/comments?post=164907"}],"version-history":[{"count":0,"href":"https:\/\/blog.everpuredata.com\/le\/wp-json\/wp\/v2\/posts\/164907\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.everpuredata.com\/le\/wp-json\/wp\/v2\/media\/163566"}],"wp:attachment":[{"href":"https:\/\/blog.everpuredata.com\/le\/wp-json\/wp\/v2\/media?parent=164907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.everpuredata.com\/le\/wp-json\/wp\/v2\/categories?post=164907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.everpuredata.com\/le\/wp-json\/wp\/v2\/tags?post=164907"},{"taxonomy":"content-position","embeddable":true,"href":"https:\/\/blog.everpuredata.com\/le\/wp-json\/wp\/v2\/content-position?post=164907"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.everpuredata.com\/le\/wp-json\/wp\/v2\/ppma_author?post=164907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}