Академический Документы
Профессиональный Документы
Культура Документы
Cmo realizar backups automticos con lnea de comandos en SQL Server 2005.
Hasta el da de hoy, no haba tenido jams la necesidad de acceder a SQL Server por lnea de comando, aunque haba trabajado accediendo a bases de datos de esta forma en varias oportunidades con MySQL y Oracle. Supuse que una herramienta as debera existir, y as es: para los que no lo conocen, el programa SQLCMD se instala con SQL Server en la carpeta C:\Archivos de programa\Microsoft SQL Server\90\Tools\Binn. La necesidad de esta herramiento surgi porque necesitaba implementar la realizacin de copias de seguridad para un cliente y es el tip que voy a compartir hoy con ustedes. Para configurar este proceso se necesita lo siguiente: 1. Crear un script SQL que realice la copia de seguridad. 2. Crear un archivo batch que ejecute el SQLCMD y el script SQL. 3. Crear una tarea programada en Windows para que llame al archivo batch con la regularidad deseada.
El script backup.SQL
Este script realiza un backup de la base de datos de una forma muy sencilla: 1. Setea la base de datos en modo SINGLE_USER. 2. Realiza la copia de seguridad. 3. Vuelve a setear la base de datos en modo MULTI_USER. Sin ms preambulos, los dejo con el script:
DECLARE @fecha VARCHAR(50) DECLARE @archivo VARCHAR(50) SET @fecha = CONVERT(VARCHAR(4), YEAR(GETDATE()))+'-'+ CONVERT(VARCHAR(2), MONTH(GETDATE()))+'-'+CONVERT(VARCHAR(2), DAY(GETDATE())) SET @archivo = 'C:\tmp\BD_'+ @fecha +'.bak' ALTER DATABASE BD SET SINGLE_USER WITH ROLLBACK IMMEDIATE BACKUP DATABASE BD TO DISK = @archivo ALTER DATABASE BD SET MULTI_USER GO EXIT
Lo nico que debern tener en cuenta es crear la carpeta C:\tmp con permisos de escritura para el usuario Servicio de Red y reemplazar BD por el nombre de la base de datos que desean resguardar.