copia de seguridad automática de la base de datos de SQL Server

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

Supongo que te gusta

Origin www.cnblogs.com/blogcore/p/12467007.html
Recomendado
Clasificación