Dejar que SQL Server 2008 base de datos de copia de seguridad automática, es necesario crear un puesto de trabajo de SQL Server, e iniciar el Agente SQL Server, por lo que el trabajo se ejecute periódicamente.
Específicamente, siga estos pasos:
En primer lugar, se inicia el agente
Abra SQL Server Management Studio, en el Explorador de objetos,
confirman que el Agente SQL Server se inicia, si no, haga clic derecho en el nodo del Agente SQL Server, haga clic en "Inicio".
En segundo lugar, un nuevo trabajo
Expanda el nodo Agente SQL Server, haga clic en la carpeta y seleccione "Nuevo trabajo" en su archivo de trabajo en el cuadro emergente "Nuevo trabajo" de diálogo, el nombre de la obra en la tarjeta de elecciones generales, tales como "TXDPCS copia de seguridad".
En tercer lugar, el código de escritura
Seleccione la pestaña de "paso", haga clic en el botón "Nuevo" en el cuadro de diálogo, cree un nombre para ese paso, como "Copia de seguridad directa", a continuación, en la línea de comandos, introduzca el siguiente comando:
DECLARE @fileName nvarchar(100)
SET @fileName='E:DB_Backup\' + REPLACE(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(100), GETDATE(), 121), ' ', ''), ':', ''), '-', ''), '.', '') + '.bak'
PRINT 'Backup to ' + @fileName + '...'
BACKUP DATABASE [数据库名称] TO DISK = @fileName WITH NOINIT , NOUNLOAD , NAME = N'数据库-备份', NOSKIP , STATS = 10, NOFORMAT
Haga clic en "Aceptar" para guardar los pasos.
En cuarto lugar, establece la tarea del temporizador.
Seleccione la pestaña del programa "Nuevo trabajo" (este es el núcleo de la ejecución periódica!), Haga clic en el botón "Nuevo", el nombre del plan, tales como "uno, tres, cinco, siete Ejecutar semanal" y otros ajustes, como 1, todos los lunes, miércoles y viernes, tiempo de ejecución de siete es 00:00:00 y así sucesivamente. Por último, haga clic en "OK" para guardar el programa.
V. Descripción
//默认账户
osql -E -Q "BACKUP DATABASE db_test TO DISK = 'D:\DB_BAK\db_test%date:~0,4%%date:~5,2%%date:~8,2%'"
//指定账户
osql -S .\MSSQL2008R2 -U netuser -P netuser2008 -Q"BACKUP DATABASE db_test TO DISK = 'D:\DB_BAK\db_test%date:~0,4%%date:~5,2%%date:~8,2%'"
db_test: el nombre de la base de datos cuya copia de respaldo de hasta
D: \ DB_BAK: Base de datos de copia de seguridad Path
% Fecha: ~ 0,4 %% date: ~ 5,2 %% fecha: AAAAMMDD: ~ 8,2% formato de fecha
En sexto lugar, se puede utilizar la copia de seguridad manual de lotes
/************************************************************
* 数据备份脚本:
* 1.运行前,请根据实际配置修改相应账户信息;
* 2.请将脚本执行结果另存为批处理文件,执行批处理文件即可;
* 时间: 2015/3/10 14:21:15
************************************************************/
DECLARE @name NVARCHAR(200)
DECLARE @path NVARCHAR(500)
DECLARE @dbServer NVARCHAR(500)
DECLARE @dbUserName NVARCHAR(500)
DECLARE @dbUserPwd NVARCHAR(500)
--备份文件存放路径
SET @path = 'E:\05_DataBase_bakup\'
--数据库服务器
SET @dbServer = '.'
--数据库用户名
SET @dbUserName = 'sa'
--数据库用户密码
SET @dbUserPwd = '123'
DECLARE cursors CURSOR
FOR
--查询集合
SELECT [name]
FROM [sysdatabases]
WHERE NAME NOT IN ('master', 'tempdb', 'model', 'msdb')
OPEN cursors
FETCH NEXT FROM cursors INTO @name
WHILE @@fetch_status = 0
BEGIN
--遍历集合
PRINT 'osql -S ' + @dbServer + ' -U ' + @dbUserName + ' -P ' + @dbUserPwd +
' -Q "BACKUP DATABASE ['
+ @name + '] TO DISK = ''' + @path +
'[%date:~0,4%%date:~5,2%%date:~8,2%]' + @name + '.bak''"'
FETCH NEXT FROM cursors INTO @name
END
CLOSE cursors
DEALLOCATE cursors