<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Backups on Héctor Bautista</title><link>https://hbautista.com/tags/backups/</link><description>Recent content in Backups on Héctor Bautista</description><generator>Hugo -- gohugo.io</generator><language>es-ES</language><lastBuildDate>Sat, 13 Oct 2012 17:41:05 +0000</lastBuildDate><atom:link href="https://hbautista.com/tags/backups/index.xml" rel="self" type="application/rss+xml"/><item><title>Programar respaldos SQL Server 2008 r2 express</title><link>https://hbautista.com/p/programar-respaldos-sql-server-2008-r2-express/</link><pubDate>Sat, 13 Oct 2012 17:41:05 +0000</pubDate><guid>https://hbautista.com/p/programar-respaldos-sql-server-2008-r2-express/</guid><description>&lt;img src="https://hbautista.com/images/2012/sql_server_2008_r2_small-1.jpg" alt="Featured image of post Programar respaldos SQL Server 2008 r2 express" /&gt;&lt;p&gt;&lt;img alt="SQL Server 2008 R2" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2012/sql_server_2008_r2_small-1.jpg"&gt;&lt;/p&gt;&#10;&lt;p&gt;Resulta que por cuestiones laborales tengo la necesidad de hacer respaldos de una base de datos del MS SQL Server 2008 R2 express, y pues resulta que aunque se pueda instalar el &lt;a title="MS SQL Server Management Studio Express" href="http://www.microsoft.com/es-es/download/details.aspx?id=8961" target="_blank" rel="noopener"&gt;MS SQL Server Management Studio Express&lt;/a&gt;, simplemente no podremos tener un plan de mantenimiento o automatización, puesto que esa &lt;a title="http://msdn.microsoft.com/en-us/library/ms187658.aspx" href="http://msdn.microsoft.com/en-us/library/ms187658.aspx" target="_blank" rel="noopener"&gt;versión carece&lt;/a&gt; del &lt;a title="SQL Agent Service" href="http://msdn.microsoft.com/en-us/library/ms189237.aspx" target="_blank" rel="noopener"&gt;SQL Agent Service&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Buscando una posible solución me encontré muchas formas de hacerlo.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Usando &lt;a title="SQL Server Databases Backup with PowerShell" href="http://j.mp/QXNgXc" target="_blank" rel="noopener"&gt;Powershell&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Usando el &lt;a title="Management Studio 1" href="http://www.sectorgamer.com/threads/crear-respaldos-autom%C3%A1ticos-en-sql-server-2005-y-2008.3570/" target="_blank" rel="noopener"&gt;Management&lt;/a&gt; Studio&lt;/li&gt;&#10;&lt;li&gt;&lt;a title="Backups automáticos de SQL Server Express" href="http://j.mp/QXNpcX" target="_blank" rel="noopener"&gt;Management Studio&lt;/a&gt; con un archivo .bat&lt;/li&gt;&#10;&lt;li&gt;Y finalmente usando &lt;a title="Backup automáticos de bases de datos SQL Server 2008" href="http://j.mp/QXNqh2" target="_blank" rel="noopener"&gt;sqlcmd&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Claro, el Management Studio te facilita enormemente las cosas, puedes realizar muchas cosas más aparte de los planes de mantenimiento.&lt;/p&gt;&#10;&lt;p&gt;&lt;img alt="Multi-Server-Mgmt-Dashboard" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2012/Multi-Server-Mgmt-Dashboard-1.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;Había una forma bastante simple de hacerlo y la encontré &lt;a title="Hacer backup de Sql server mediante línea de comandos" href="http://j.mp/QXNLjK" target="_blank" rel="noopener"&gt;aquí&lt;/a&gt;, pero me encontré con el inconveniente de que para empezar si ejecutaba el comando sqlcmd así sin argumentos, simplemente me marcaba un error:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sqlcmd&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;HResult 0x2, Level 16, State &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Named Pipes Provider: Could not open a connection to SQL Server &lt;span style="color:#f92672"&gt;[&lt;/span&gt;2&lt;span style="color:#f92672"&gt;]&lt;/span&gt;.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Entonces ahí mismo encontré este &lt;a title="Hacer backup de Sql server mediante línea de comandos" href="http://j.mp/QXNLjK" target="_blank" rel="noopener"&gt;interesante artículo&lt;/a&gt; donde habla de cómo usar esa shell de SQL Server. Las pruebas simples que hice funcionaron muy bien y ahí habría quedado sino fuera porque quería que me guardara el formato de fecha y hora, porque como quedan en un mismo directorio (por ahora), el anterior no me funcionaba, porque me machacaría las copias previas.&lt;/p&gt;&#10;&lt;p&gt;Así que use &lt;a title="Backup automáticos de bases de datos SQL Server 2008" href="http://j.mp/QXNqh2" target="_blank" rel="noopener"&gt;este otro&lt;/a&gt; que está más elaborado. Aunque lo tuve que cambiar debido a que no me gustaba la forma en que me dejaba los nombres de los archivos generados. Como ya tenía rato de no tocar este tipo de cosas, pues a googlear un poco y me encontré dos interesantes artículos: &lt;a title="How to Format Date/Time" href="http://j.mp/QXOLoh" target="_blank" rel="noopener"&gt;How to format Date/Time&lt;/a&gt; y &lt;a title="Date and Time Conversions Using SQL Server" href="http://j.mp/QXONwi" target="_blank" rel="noopener"&gt;Date and Time Conversions Using SQL Server&lt;/a&gt;, esos artículos me ayudaron a entender mejor la forma de tratar las fechas.&lt;/p&gt;&#10;&lt;p&gt;Funcionó, hice varias pruebas y funcionaron ambas, pero aún no estaba del todo contento con el resultado, sobre todo porque me dejaba archivos del tipo: &lt;strong&gt;RespaldoBD_13.10.2012_12:40.BAK&lt;/strong&gt; y esos puntos en las fechas no me gustaban nadita ¬¬.&lt;/p&gt;&#10;&lt;p&gt;Hasta que finalmente vi que había una función que podría facilitarme un poco las cosas: &lt;a title="Substring Transact_SQL" href="http://j.mp/QXP7LD" target="_blank" rel="noopener"&gt;Substring()&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Así que este es el código como finalmente quedó:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;declare&lt;/span&gt; &lt;span style="color:#f92672"&gt;@&lt;/span&gt;fecha varchar(&lt;span style="color:#66d9ef"&gt;MAX&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;declare&lt;/span&gt; &lt;span style="color:#f92672"&gt;@&lt;/span&gt;archivo varchar(&lt;span style="color:#66d9ef"&gt;MAX&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;set&lt;/span&gt; &lt;span style="color:#f92672"&gt;@&lt;/span&gt;fecha &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;SUBSTRING&lt;/span&gt;(&lt;span style="color:#66d9ef"&gt;Convert&lt;/span&gt;(Varchar(&lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;), GetDate(),&lt;span style="color:#ae81ff"&gt;105&lt;/span&gt;),&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;,&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;)&lt;span style="color:#f92672"&gt;+&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;SUBSTRING&lt;/span&gt;(&lt;span style="color:#66d9ef"&gt;Convert&lt;/span&gt;(Varchar(&lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;), GetDate(),&lt;span style="color:#ae81ff"&gt;105&lt;/span&gt;),&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt;,&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;)&lt;span style="color:#f92672"&gt;+&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;SUBSTRING&lt;/span&gt;(&lt;span style="color:#66d9ef"&gt;Convert&lt;/span&gt;(Varchar(&lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;), GetDate(),&lt;span style="color:#ae81ff"&gt;105&lt;/span&gt;),&lt;span style="color:#ae81ff"&gt;7&lt;/span&gt;,&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt;)&lt;span style="color:#f92672"&gt;+&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;_&amp;#39;&lt;/span&gt;&lt;span style="color:#f92672"&gt;+&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;SUBSTRING&lt;/span&gt;(&lt;span style="color:#66d9ef"&gt;CONVERT&lt;/span&gt;(Varchar(&lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;), GetDate(),&lt;span style="color:#ae81ff"&gt;108&lt;/span&gt;),&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;,&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;)&lt;span style="color:#f92672"&gt;+&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;SUBSTRING&lt;/span&gt;(&lt;span style="color:#66d9ef"&gt;CONVERT&lt;/span&gt;(Varchar(&lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;), GetDate(),&lt;span style="color:#ae81ff"&gt;108&lt;/span&gt;),&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt;,&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;set&lt;/span&gt; &lt;span style="color:#f92672"&gt;@&lt;/span&gt;archivo &lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;C:\Ruta\del\Directorio\Base_De_Datos_&amp;#39;&lt;/span&gt;&lt;span style="color:#f92672"&gt;+@&lt;/span&gt;fecha&lt;span style="color:#f92672"&gt;+&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;.bak&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;BACKUP &lt;span style="color:#66d9ef"&gt;DATABASE&lt;/span&gt; Base_De_Datos_Respaldada&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;TO&lt;/span&gt; DISK &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#f92672"&gt;@&lt;/span&gt;archivo&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;WITH&lt;/span&gt; FORMAT,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; MEDIANAME &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;D_SQLServerBackups&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; NAME &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;Full Backup of ERP2012_Pycsur&amp;#39;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;GO&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;El anterior archivo lo pueden guardar en un archivo de texto &amp;ldquo;archivo.sql&amp;rdquo; y se manda a llamar así:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sqlcmd -S Servidor&lt;span style="color:#ae81ff"&gt;\I&lt;/span&gt;nstancia_BD -i C:&lt;span style="color:#ae81ff"&gt;\R&lt;/span&gt;uta&lt;span style="color:#ae81ff"&gt;\a&lt;/span&gt;rchivo.sql&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ese último comando lo pueden poner en el programador de tareas y listo, proceso automatizado ñ_ñ&lt;/p&gt;&#10;</description></item></channel></rss>