Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    47

    [SQL SERVER 2008] Come creare un batch per il backup

    Salve, ho un database 'prova' del quale vorrei fare il backup semplicemente cliccando su una icona.
    Pensavo di scrivere qualcosa tipo un file batch esempio 'backup prova c:\copiadiriserva\prova.bak' in modo da lanciare il backup solo cliccando sull'icona senza aprire sql managment, andare sul database, tasto destro, attività, backup ecc...
    E' possibile farlo?
    Inoltre sarebbe possibile copiare (sempre nello stesso modo, con un solo click) il database 'prova' in un 'prova_copia'.
    Grazie

  2. #2
    adatta questo

    "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\osql.exe" -S <nomeserver>\<nomedatabase> -U <username> -P <password> -Q "BACKUP DATABASE <nomedatabase> TO DISK='<cartella_di_destinazione>\<nome_file_di_bac kup>.bak' WITH FORMAT"

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    47
    Grazie!
    Lo provo subito.
    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    47
    Non mi funziona...
    ho provato a cambiarlo così:
    "C:\Programmi\Microsoft SQL Server\100\Tools\Binn\osql.exe" -S bp\prova -U bp\pippo -P pippo -Q "BACKUP DATABASE omnia TO DISK='c:\aaa\prova.bak WITH FORMAT"
    dove bp è il server (che è anche in locale), prova è il database da copiare e pippo è l'utente ed anche la password
    L'errore è:
    "errore nell'individuazione del server/dell'istanza specificata"
    Ultima modifica di chigibi; 02-01-2014 a 20:14

  5. #5
    sorry

    -S nomeserver\istanzasql

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    47
    Quote Originariamente inviata da optime Visualizza il messaggio
    sorry

    -S nomeserver\istanzasql
    Un passo avanti... ma ancora non funziona

    Mi da "Stringa di connessione non valida [87] "

    Questo è il comando che ho scritto dietro tuo suggerimento:

    "C:\Programmi\Microsoft SQL Server\100\Tools\Binn\osql.exe" -S bp\MSSQLSERVER -U bp\pippo
    -P pippo -Q "BACKUP DATABASE prova TO DISK='c:\aaa\prova.bak' WITH FORMAT"

    dove:
    SERVER = bp
    ISTANZA = MSSQLSERVER
    UTENTE = pippo
    PASSWORD = pippo
    DATABASE = prova

    con l'utente pippo entro con autenticazione windows, ho provato anche con sa (autenticazione SQL) ma non cambia nulla...
    Ultima modifica di chigibi; 03-01-2014 a 12:11

  7. #7

  8. #8
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Prova a lasciare -S bp e basta (se non hai installato istanze particolari, quella di default è il nome del server)
    L'utente "pippo" è un utente di Windows (quindi hai l'autenticazione NT) o è un utente di SQL (quindi hai l'autenticazione mista) ?

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    47
    Ci sono riuscito usando -U sa (utente SQL) e togliendo l'istanza.
    Usando l'utente pippo (utente Windows) mi dice accesso non riuscito. Ho provato sia usando solo pippo che usando bp\pippo ma non è cambiato nulla

  10. #10
    IMHO, per non inserire password in chiaro nel file batch , una buona soluzione è usare ( ... ma va abilitata)
    l'autenticazione integrata di windows;
    in questo caso l'utente che si presenta a sql server sarà quello che esegue il batch (... probabilmente il batch sarà schedulato)

    Se bel ricordo il flag da usare per in questo caso è "-E" ... ma puoi facilmente verificare eseguendo osql/sqlcmd /?.

    Ultima nota: puoi usare SqlCmd.exe invece di osql.exe che è stato lasciato solo per retro compatibilità

    HTH

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.