miércoles, 13 de noviembre de 2019

Microsoft Sql Server. Script para hacer backup de todas las bases de datos.

Se puede ejecutar en una consulta o bien programar con el manager del Sql mediante un trabajo en el Agente del Sql Server. Debemos tener permisos totales en la carpeta destino. Si se ejecuta mediante el Agente Sql, debemos asegurarnos que el servicio está iniciado, ponerlo en inicio automático.  Se debe dar permiso de escritura al usuario del servicio Agente Sql en la carpeta destino (mirar el en las propiedades del servicio para ver el usuario).

SET NOCOUNT ON

DECLARE @Catalogo sysname
DECLARE @StrSql as nvarchar(500)

DECLARE Catalogos CURSOR FOR SELECT Name FROM SysDatabases A WHERE A.Name<>'Tempdb' ORDER BY A.Name
OPEN Catalogos
FETCH NEXT FROM Catalogos INTO @Catalogo
WHILE @@FETCH_STATUS = 0
BEGIN
SET @StrSql='BACKUP DATABASE [' + @Catalogo + '] TO DISK = N''C:\BackupSql\' + @Catalogo + '.bak' + ''' WITH INIT, NOUNLOAD, NAME= N''Copia ' + @Catalogo + ' Diaria'',  NOSKIP ,  STATS = 100,  NOFORMAT'
EXEC (@StrSql)

FETCH NEXT FROM Catalogos INTO @Catalogo
END

CLOSE Catalogos
DEALLOCATE Catalogos

No hay comentarios:

Publicar un comentario

VBA Access. Redondeo de números decimales con el método medio redondeo. Alternativa a la función Round (bankers round)

 Private Function Redondeo(ByVal Numero As Variant, ByVal Decimales As Integer) As Double     'Aplica método medio redondeo (half round ...