Activar Agente en Sql Server 2012 express
Debe seguir estos cuatro pasos para hacer una copia de seguridad de las bases de datos SQL Server mediante Windows programador de tareas:
Paso A: Crear procedimiento almacenado para hacer una copia de seguridad de las bases de datos.
Conectar a la instancia SQL express y cree un sp_BackupDatabases almacenado en la base de datos maestra mediante el script en la siguiente ubicación:
SQL_Express_Backups
Paso B: Descargar la herramienta SQLCMD (si procede).
La sqlcmd utilidad le permite escribir instrucciones transact-SQL, procedimientos del sistema y archivos de script. En SQL Server 2014 y versiones inferiores, la utilidad se envía como parte del producto. A partir SQL Server 2016, la utilidad sqlcmd se ofrece como una descarga independiente. Para obtener más información, revise sqlcmd Utility.
Paso C: Crear un archivo por lotes con el editor de texto.
En un editor de texto, cree un archivo por lotes denominado Sqlbackup.bat y, a continuación, copie el texto de uno de los ejemplos siguientes en ese archivo, según el escenario:
Todos los escenarios siguientes se usan D:\SQLBackups como un soporte de posición. El script debe ajustarse a la unidad correcta y a la ubicación de la carpeta Copia de seguridad en el entorno.
Si usa la autenticación SQL, asegúrese de que el acceso a la carpeta está restringido a los usuarios autorizados, ya que las contraseñas se almacenan en texto sin formato.
Nota
La carpeta del archivo ejecutable se encuentra generalmente en las variables Path del servidor después de que SQL Server esté instalado o después de instalarlo como SQLCMD herramienta independiente. Pero si la variable Path no enumera esta carpeta, puede agregar su ubicación a la variable Path o especificar la ruta de acceso completa a la utilidad.
Ejemplo 1: Copias de seguridad completas de todas las bases de datos en la instancia con nombre local de SQLEXPRESS mediante Windows autenticación.
SQL
Copiar
// Sqlbackup.bat
sqlcmd -S .\SQLEXPRESS -E -Q "EXEC sp_BackupDatabases @backupLocation='D:\SQLBackups\', @backupType='F'"
Ejemplo 2: Copias de seguridad diferenciales de todas las bases de datos en la instancia con nombre local de SQLEXPRESS mediante un SQLLogin y su contraseña.
SQL
Copiar
// Sqlbackup.bat
sqlcmd -U <YourSQLLogin> -P <StrongPassword> -S .\SQLEXPRESS -Q "EXEC sp_BackupDatabases @backupLocation ='D:\SQLBackups', @BackupType='D'"
Nota
SqlLogin debe tener al menos el rol Operador de copia de seguridad en SQL Server.
Ejemplo 3: Registrar copias de seguridad de todas las bases de datos en una instancia con nombre local de SQLEXPRESS mediante Windows autenticación
SQL
Copiar
// Sqlbackup.bat
sqlcmd -S .\SQLEXPRESS -E -Q "EXEC sp_BackupDatabases @backupLocation='D:\SQLBackups\',@backupType='L'"
Ejemplo 4: Copias de seguridad completas de la base de datos USERDB en la instancia con nombre local de SQLEXPRESS mediante Windows autenticación
SQL
Copiar
// Sqlbackup.bat
sqlcmd -S .\SQLEXPRESS -E -Q "EXEC sp_BackupDatabases @backupLocation='D:\SQLBackups\', @databaseName='USERDB', @backupType='F'"
Del mismo modo, puede realizar una copia de seguridad diferencial de USERDB pegando en 'D' para el parámetro y una copia de seguridad de registro de USERDB pegando @backupType en 'L' para el @backupType parámetro.
Paso D: Programe un trabajo con Windows programador de tareas para ejecutar el archivo por lotes que creó en el paso B. Para ello, siga estos pasos:
En el equipo que se ejecuta SQL Server Express, haga clic en Inicio y, a continuación, en el cuadro de texto escriba tarea Programador.
Captura de pantalla de la opción De escritorio del programador de tareas en la barra de búsqueda de menú Inicio.
En Coincidencia recomendada, haga clic en Programador de tareas para iniciarla.
En programador de tareas, haga clic con el botón secundario en Biblioteca de programación de tareas y haga clic en Crear tarea básica....
Escriba el nombre de la nueva tarea (por ejemplo: SQLBackup) y haga clic en Siguiente.
Seleccione Diario para el desencadenador de tareas y haga clic en Siguiente.
Establezca la periodicidad en un día y haga clic en Siguiente.
Seleccione Iniciar un programa como acción y haga clic en Siguiente.
Haga clic en Examinar, haga clic en el archivo por lotes que creó en el paso C y, a continuación, haga clic en Abrir.
Active la casilla Abrir el cuadro de diálogo Propiedades de esta tarea cuando haga clic en Finalizar.
En la pestaña General,
Revise las opciones de seguridad y asegúrese de lo siguiente para la cuenta de usuario que ejecuta la tarea (en Al ejecutar la tarea, usuario la siguiente cuenta de usuario:)
La cuenta debe tener al menos permisos de lectura y ejecución para iniciar la utilidad sqlcmd. Además,
Si usa Windows autenticación en el archivo por lotes, asegúrese de que el propietario de los permisos de tarea debe realizar SQL copias de seguridad.
Si usa SQL autenticación en el archivo por lotes, el usuario SQL debe tener los permisos necesarios para realizar SQL copias de seguridad.
Ajusta otras configuraciones según tus requisitos.
Sugerencia
Como prueba, ejecute el archivo por lotes desde el paso C desde un símbolo del sistema que se inicia con la misma cuenta de usuario propietaria de la tarea.
Tenga en cuenta lo siguiente al usar el procedimiento que se documenta en este artículo:
El servicio programador de tareas debe ejecutarse en el momento en que el trabajo está programado para ejecutarse. Se recomienda establecer el tipo de inicio para este servicio como Automático. Esto se asegura de que el servicio se ejecute incluso en un reinicio.
Debe haber mucho espacio en la unidad en la que se escriben las copias de seguridad. Le recomendamos que limpie los archivos antiguos de la carpeta Copia de seguridad con regularidad para asegurarse de que no se ha quedo sin espacio en disco. El script no contiene la lógica para limpiar archivos antiguos.