Salvare automaticamente...

mercoledì 18 agosto 2010 - 13.04

andreadp Profilo | Junior Member

... un db su windows 7. E' questo il problema.
Ho visto la procedura per Xp ma per Windows 7 sorgono dei problemi di permessi.
Cosa mi suggerite?!?
Andrea

lbenaglia Profilo | Guru

>... un db su windows 7. E' questo il problema.
>Ho visto la procedura per Xp ma per Windows 7 sorgono dei problemi
>di permessi.
>Cosa mi suggerite?!?

Ciao Andrea,

A quale "db" ti riferisci?
Che DBMS utilizzi?
Puoi descrivere dettagliatamente il tuo ambiente e l'operazione che stai tentando di fare?

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

andreadp Profilo | Junior Member

Già, hai ragione. Allora uso un SQLSERVER EXPRESS per un'applicazione fatta tramite Windows Form in c#.
Mi servirebbe poter fare in automatico il backup giornaliero del mio DB sia sotto Win Xp che sotto Windows 7.
Andrea

lbenaglia Profilo | Guru

>Già, hai ragione. Allora uso un SQLSERVER EXPRESS per un'applicazione
>fatta tramite Windows Form in c#.
>Mi servirebbe poter fare in automatico il backup giornaliero
>del mio DB sia sotto Win Xp che sotto Windows 7.
OK, allora puoi definire uno scheduled task che esegua il comando BACKUP DATABASE...TO DISK tramite l'utility command-line sqlcmd.exe:
http://msdn.microsoft.com/it-it/library/ms186865.aspx
http://msdn.microsoft.com/it-it/library/ms162773.aspx

L'utente con il quale viene eseguito il servizio MSSQLServer deve avere i diritti di full control a livello di share (nel caso esista) e NTFS nella directory specificata nel comando di backup.
Tra i gruppi locali ne troverai uno chiamato SQLServerMSSQLUser$<nome pc>$<nome istanza> che contiene l'utente utilizzato per eseguire il servizio MSSQLServer.
Assegna i diritti a tale gruppo.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

andreadp Profilo | Junior Member

e proprio qua casca l'asino. Non so come assegnare il controllo completo e tutto il resto su windows 7...:-(
Queste operazioni sono necessarie anche in Xp???

E' la prima volta che mi capita di "combattere" con questo argomento in quest'ambito ..:-)
Andrea

lbenaglia Profilo | Guru

>e proprio qua casca l'asino. Non so come assegnare il controllo
>completo e tutto il resto su windows 7...:-(
Lancia Windows Explorer, seleziona la directory che dovrà contenere i backup, tasto DX, Properties, tab Security, Edit, Add..., digita il nome del gruppo che ti ho indicato (se non te lo ricordi lo puoi verificare lanciando Computer Management > Local Users and Groups > Groups), Full Control, OK.

>Queste operazioni sono necessarie anche in Xp???
Se l'account utilizzato per eseguire il servizio non ha accesso alla directory che conterrà i backup, certo.

>E' la prima volta che mi capita di "combattere" con questo argomento
>in quest'ambito ..:-)
C'è sempre una prima volta

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

andreadp Profilo | Junior Member

Ok..quasi tutto fatto. Unica cosa da risolvere in Windows 7 (non so ancora se in Xp ci sarà lo stesso problema).
Impostando l'operazione pianificata il file .bat viene lanciato: vedo aprirsi e chiudersi in un batter d'occhio la finestra di prompt e il file va in esecuzione "perpetua" senza che succeda niente. Da cosa può dipendere?!?!
Andrea

lbenaglia Profilo | Guru

>Impostando l'operazione pianificata il file .bat viene lanciato:
>vedo aprirsi e chiudersi in un batter d'occhio la finestra di
>prompt e il file va in esecuzione "perpetua" senza che succeda
>niente. Da cosa può dipendere?!?!
Senza vedere il contenuto del file bat non sono in grado di rispondere.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

andreadp Profilo | Junior Member

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

lbenaglia Profilo | Guru

Se lanci in una shell quel batch funziona?
Con che account gira lo scheduled task?
Hai provato a specificare esplicitamente il path del file di input?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

andreadp Profilo | Junior Member

---Se lanci in una shell quel batch funziona?
Si, anche con doppio click

---Con che account gira lo scheduled task?
Giro con un account facente parte del gruppo Administrator

---Hai provato a specificare esplicitamente il path del file di input?
Non ho capito...

Andrea

lbenaglia Profilo | Guru

>---Se lanci in una shell quel batch funziona?
>Si, anche con doppio click
>
>---Con che account gira lo scheduled task?
>Giro con un account facente parte del gruppo Administrator
OK

>---Hai provato a specificare esplicitamente il path del file
>di input?
>Non ho capito...

Trasformare

sqlcmd -s %SERVER% -i Backup.sql -v MyPath = %PATH_B% -v MyDataBase =%DATABASE% -o C:\Users\WinAndrea\Desktop\log.txt

In

sqlcmd -s %SERVER% -i disco:\percorso\Backup.sql -v MyPath = %PATH_B% -v MyDataBase =%DATABASE% -o C:\Users\WinAndrea\Desktop\log.txt

Oppure specificare Disco:\Percorso\ nello scheduled task (parametro Start in quando definisci una nuova azione).

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

andreadp Profilo | Junior Member

Adesso funziona...grazie mille...

Quindi qual era esattamente il problema!?? Perchè prima non funzionava e ora si??
Andrea

lbenaglia Profilo | Guru

>Adesso funziona...grazie mille...
>
>Quindi qual era esattamente il problema!?? Perchè prima non funzionava
>e ora si??
Perché la directory di default di uno scheduled task è la System32 e non avendo specificato il path del file di input, non veniva trovato.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5