Las ediciones Express de SQL Server de
no ofrecen una forma de programar trabajos o planes de mantenimiento porque el componente Agente de SQL Server no se incluye en estas ediciones. Por lo tanto, tendrá que tomar un enfoque diferente para hacer copia de seguridad de las bases de datos al utilizar
estas ediciones.
Actualmente, los usuarios de SQL Server Express pueden respaldar sus bases de datos mediante uno de los métodos siguientes:
Utilice SQL Server Management Studio Express. Se instala junto con SQL Server Express servicio por adelantado o SQL Server Express Toolkit. Para obtener más información,
visite el siguiente sitio Web de Microsoft Developer Network (MSDN): Crear una copia de seguridad de la base de datos completa (SQL Server)
Utilice una secuencia de comandos de Transact-SQL que utiliza la familia de la base de datos de copia de seguridad de comandos. Para obtener más información, visite el siguiente
sitio Web MSDN:
Este artículo describe cómo utilizar una secuencia de comandos de Transact-SQL junto con el programador de tareas de Windows para automatizar las copias de seguridad de bases
de datos de SQL Server Express de manera programada.
: proporcionar un nombre para almacenar en el medio de la copia de seguridad
si @ tipoDeCopiaDeSeguridad = 'F'
establecer @ nombreCopiaSeguridad = REPLACE(REPLACE(@DBNAME,'[',''),']','') +' copia de seguridad completa para ' + @ dateTime
IF @ tipoDeCopiaDeSeguridad = tenía '
establecer @ nombreCopiaSeguridad = REPLACE(REPLACE(@DBNAME,'[',''),']','') +' copia de seguridad diferencial para ' + @ dateTime
si @ tipoDeCopiaDeSeguridad = 'L'
establecer @ nombreCopiaSeguridad = REPLACE(REPLACE(@DBNAME,'[',''),']','') +' la copia de seguridad para ' + @ dateTime
--generar el comando SQL dinámico que se ejecutará
si @ tipoDeCopiaDeSeguridad 'F' =
comenzar
SET @ sqlCommand = 'Base de datos de copia de seguridad' +@DBNAME+' en disco = '''+@BackupFile+ ''' WITH INIT, NAME= ''' +@BackupName+''', NOSKIP, NOFORMAT'
END
IF @backupType = 'D'
BEGIN
SET @sqlCommand = 'BACKUP DATABASE ' +@DBNAME+' TO DISK = '''+@BackupFile+ ''' WITH DIFFERENTIAL, INIT, NAME= ''' +@BackupName+''', NOSKIP, NOFORMAT'
END
IF @backupType = 'L'
BEGIN
SET @sqlCommand = 'BACKUP LOG ' +@DBNAME+' TO DISK = '''+@BackupFile+ ''' WITH INIT, NAME= ''' +@BackupName+''', NOSKIP, NOFORMAT'
END
-- Execute the generated SQL command
EXEC(@sqlCommand)
-- Goto the next database
SELECT @Loop = min(ID) FROM @DBs where ID > bucle @
final
Paso B: en un editor de texto, cree un archivo por lotes denominado Sqlbackup.bat y, a continuación, copie el texto de uno de los siguientes ejemplos en
ese archivo, dependiendo de su situación:
Ejemplo1:Backups completos de
todas las bases de datos en la instancia con nombre local de SQLEXPRESS mediante la autenticación de Windows
Ejemplo2:
copias de seguridad diferenciales de
todas las bases de datos en la instancia con nombre local de SQLEXPRESS con un SQLLogin y su contraseña
/ / Sqlbackup.bat
Sqlcmd - U SQLLogin -P contraseña -S. \SQLEXPRESS -Q "EXEC sp_BackupDatabases@ ubicación = 'D:\SQLBackups', @ tipoDeCopiaDeSeguridad = tenía '"
Nota: SQLLogin la shouldhave al menos la función de operador de copia de seguridad en SQL Server.
Ejemplo 3:Copias de seguridad de registro de
todas las bases de datos en una instancia con nombre local de SQLEXPRESS mediante la autenticación de Windows
De forma similar, puede hacer un diferencial copia de seguridad de USERDB pegando
en sería ' para el parámetro @ tipoDeCopiaDeSeguridad y una copia de seguridad del registro de USERDB pegando en 'L' para el parámetro
@ tipoDeCopiaDeSeguridad .
Paso C:Programación de un trabajo utilizando el programador de tareas de
Windows para ejecutar el archivo por lotes que creó en el paso B. Para ello, siga estos pasos:
En el equipo que ejecuta de SQL Server Express, haga clic en
Inicio, seleccione
Todos los programas,
Accesorios,
Herramientas del sistemay, a continuación, haga clic en
tareas programadas.
Haga doble clic en
Agregar tarea programada.
En el Asistente para tarea programada, haga clic en
siguiente.
haga clic en Examinar, haga clic en el archivo por lotes que creó en el paso b y, a continuación, haga clic en
Abrir.
Escriba
SQLBACKUP para el nombre de la tarea, haga clic en diariamentey, a continuación, haga clic en
siguiente.
Especifique información de una programación para ejecutar la tarea. (Se recomienda ejecutar esta tarea al menos una vez al día). A continuación, haga clic en
siguiente.
En el campo
Escriba el nombre de usuario , escriba un nombre de usuario y, a continuación, escriba una contraseña en el campo
Escriba la contraseña .
Nota Este usuario debe por lo menos asignarse la función de BackupOperator en el nivel de SQL Server si utiliza uno de los archivos de proceso por lotes en ejemplo 1, 3 ó 4.
Haga clic en
siguientey, a continuación, haga clic en Finalizar.
Ejecutar la tarea programada al menos una vez para asegurarse de que la copia de seguridad se ha creado correctamente.
NotaLa carpeta para el ejecutable SQLCMD es generalmente en las
variables de ruta de acceso para el servidor después de SQL Server está instalado, pero si la variable Path no muestra esta carpeta, puede encontrarla en la
ubicación de instalación de < > \90\Tools\Binn (por ejemplo: Server\90\Tools\Binn de SQL de programa\Microsoft c:\Archivos).
Tener en cuenta lo siguiente cuando utilice el procedimiento que se documenta en
este artículo:
Debe ejecutar el servicio Programador de tareas de Windows en el momento en que el trabajo está programado para ejecutarse. Se recomienda que establezca el tipo de inicio
para este servicio como automático. Esto garantiza que el servicio se ejecutará incluso en un reinicio.
Existe debe ser una gran cantidad de espacio en la unidad a la que se escriben las copias de seguridad. Le recomendamos que limpie los archivos antiguos en la carpeta de
copia de seguridad con regularidad para asegurarse de que no se queda sin espacio en disco. La secuencia de comandos no contiene la lógica para limpiar los archivos antiguos.
Id. de artículo: 2019698 - Última revisión: jueves, 28 de junio de 2012 - Versión: 1.0
Palabras clave:
kbmt KB2019698 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 2019698
¡Muchas gracias! Sus comentarios nos ayudarán a mejorar los contenidos de soporte. Para más opciones de asistencia, visite la página de Ayuda y soporte técnico.