<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>El solitario camino de los unos y ceros &#187; base de datos</title>
	<atom:link href="http://www.caminandosolo.com/tag/base-de-datos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.caminandosolo.com</link>
	<description>caminandosolo.com ::: Infórmatica, sobre todo software y algún off-topic</description>
	<lastBuildDate>Wed, 02 Jun 2010 14:47:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Cómo hacer un backup de SQL Server fácil</title>
		<link>http://www.caminandosolo.com/2008/07/26/backup-sql-server-facil/</link>
		<comments>http://www.caminandosolo.com/2008/07/26/backup-sql-server-facil/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 08:05:34 +0000</pubDate>
		<dc:creator>caminandosolo.com</dc:creator>
				<category><![CDATA[base de datos]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://www.caminandosolo.com/?p=19</guid>
		<description><![CDATA[SQL Server es una base de datos más que conocida, así que hay multitud de aplicaciones para hacer una copia de seguridad, incluyendo claro, las de la propia Microsoft.
De todas formas es posible hacer copias de seguridad sin contar con ninguna de esas herramientas gráficas y de forma sencilla y desatendida, de forma que se [...]]]></description>
			<content:encoded><![CDATA[<p>SQL Server es una base de datos más que conocida, así que hay multitud de aplicaciones para hacer una copia de seguridad, incluyendo claro, las de la propia Microsoft.</p>
<p>De todas formas es posible hacer copias de seguridad sin contar con ninguna de esas herramientas gráficas y de forma sencilla y desatendida, de forma que se puedan programar de forma automática.</p>
<p>Lo que voy a comentar lo uso para bases de datos de prueba o en fases iniciales de producción ya que realiza una copia completa (no diferencial).</p>
<p><strong>Objetivo</strong>: hacer una copia de seguridad diaria y sin intervención de administrador, que además esos ficheros se guarden en otro servidor diferente y que pueda conservar las copias antiguas para tener un historial y poder restaurar la base de datos días atrás por si hay un problema de programación.</p>
<p><strong>Para conseguirlo</strong>:</p>
<ul>
<li>Supongamos que la base de datos se llama&#8230; Dummy (original, ¿no?). Creamos en un fichero de texo .SQL con la sentencia que realiza el volcado de datos. El fichero lo llamo Dummybackup.sql y contiene lo siguiente:</li>
</ul>
<blockquote>
<pre style="text-align: justify;">BACKUP DATABASE [sea] TO  DISK = N'C:\Dummybackup.bak' WITH  DESCRIPTION = N'Copia de seguridad completa de Base de datos', NOFORMAT, NOINIT,  NAME = N'Dummybackup.bak', SKIP, NOREWIND, NOUNLOAD,  STATS = 10</pre>
<pre style="text-align: justify;">
GO</pre>
<pre style="text-align: justify;">
declare @backupSetId as int</pre>
<pre style="text-align: justify;">
select @backupSetId = position from msdb..backupset where database_name=N'dummy' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'dummy' )</pre>
<pre style="text-align: justify;">
if @backupSetId is null begin raiserror(N'Error de comprobación. No se encuentra la información de copia de seguridad para la base de datos ''Dummy''.', 16, 1) end</pre>
<pre style="text-align: justify;">
RESTORE VERIFYONLY FROM  DISK = N'C:\Dummy_backup.bak' WITH  FILE = @backupSetId,  NOUNLOAD,  NOREWIND</pre>
<pre style="text-align: justify;">
GO</pre>
</blockquote>
<ul>
<li>Creamos en el PC servidor un fichero .BAT con este contenido:</li>
</ul>
<blockquote>
<pre>@ECHO OFF</pre>
<pre>
sqlcmd -S SERVIDOR2003\SQLSRV -U adminBD -P adminClave -d Dummy -i Dummybackup.sql</pre>
<pre>
copy Dummybackup.bak Z:\Dummybackup_%date:/=-%.bak</pre>
<pre>
del Dummybackup.bak</pre>
</blockquote>
<p>En este fichero llamamos al interprete interactivo de sqlcmd de SQL Server, y le indicamos:</p>
<p>- Parámetro S: sobre qué servidor vamos a trabajar.</p>
<p>- Parámetro U: usuario</p>
<p>- Parámetro P: contraseña</p>
<p>- Parámetro d: base de datos</p>
<p>- Parámetro i: fichero con la sentencia/s SQL a ejecutar.</p>
<p>Depués copiamos el volcado a la unidad Z creando un fichero que contiene la fecha del día actual, de forma que conseguimos un historial de backups y al haber montado la unidad Z sobre otro servidor, además tenemos los datos en PC diferente. Por último borramos el fichero con el volcado &#8220;temporal&#8221;.</p>
<p>Eso es todo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.caminandosolo.com/2008/07/26/backup-sql-server-facil/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
