Bckup database

mercoledì 19 agosto 2015 - 21.03

tigre Profilo | Junior Member

Dovrei fare un backup di un database mettendo il nome del database è il giorno del backup ma da dos, in modo da fare un file .bat ed eseguirlo giornalmente.
È possibile?

ma_di Profilo | Junior Member

Database SQL? Se si che versione? Standard o Express?

tigre Profilo | Junior Member

Hai ragione
Sul server espress 2005

renarig Profilo | Expert

>È possibile?
Qui c'è molto più di quello che chiedi .........
è un estratto, malamente commentato di quello che uso io ogni notte

Ti tiene 1 copia dell' ultimo Backup nel Server in percorso accessibile a SQLServer

Poi ti tiene quante copie vuoi in un percorso condiviso su altra macchina NON accessibile a SQLServer
pertanto ho usato Robocopy

la parte che riguarda l'ora la trovi all'inizio, poi questo file .bat
ti fa 30 copie cadenziate eliminandoti la 31esima

certamente migliorabile, anzi facci sapere se lo migliori :)

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

tigre Profilo | Junior Member

ciao e grazie,
io sono riuscito a recuperare un esempio di come effettuavo i backup.
non so come si puo allegare ::
----------------------------------------
srvName = ".\SQLEXPRESS"
dbName = "MyDB"
bkpPath = "C:\Backup\"


Set srv = CreateObject("SQLDMO.SQLServer")
srv.LoginSecure = True
srv.Connect srvName

Set bkp = CreateObject("SQLDMO.Backup")


bkp.Database=dbName
bkp.Devices=Files
bkp.Action = SQLDMOBackup_Database
bkp.Files=bkpPath & dbName
bkp.Files=bkp.Files & "-" & Mid(FormatDateTime(Now, 2),7,4)
bkp.Files=bkp.Files & "-" & Mid(FormatDateTime(Now, 2),4,2)
bkp.Files=bkp.Files & "-" & Mid(FormatDateTime(Now, 2),1,2)
bkp.Files=bkp.Files & "-" & Mid(FormatDateTime(Now, 3),1,2)
bkp.Files=bkp.Files & "-" & Mid(FormatDateTime(Now, 3),4,2)
bkp.Files=bkp.Files & "-" & Mid(FormatDateTime(Now, 3),7,2)
bkp.Files=bkp.Files & ".bak"

bkp.SQLBackup srv

srv.Close()
***********************************
ho provato a salvarlo come file vbs
ma mi da questo errore:
Il componente ActiveX non puo creare l'oggetto 'SQLDMO.SqlServer'
Che vuol dire??

ma_di Profilo | Junior Member

Non so se può esserti utile, ma io uso questo :
https://support.microsoft.com/en-us/kb/2019698

Ho creato la stored e la invoco con un batch file al quale passo il nome del DB ed il nome del backup; il batch è schedulato da SO.

Ciao.

alx_81 Profilo | Guru

Per questo tipo di operazioni, puoi pensare di usare gli script (ormai diventati standard) di Ola Hallengren
https://ola.hallengren.com/sql-server-backup.html
c'è VERAMENTE TUTTO!

Se vai poi in homepage trovi anche la soluzione per la manutenzione degli indici:
https://ola.hallengren.com

Vi consiglio di utilizzare questi script vivamente.
Ovviamente, avendo Express, non è possibile automatizzare con l'agent e quindi ecco le risposte da seguire:
https://ola.hallengren.com/frequently-asked-questions.html

Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com

ma_di Profilo | Junior Member

Grazie per l'info Alex.

tigre Profilo | Junior Member

grazie del consiglio.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5