none
Eseguire sql dump con i dati e utenti in SQL Server Espress 2008 R2 RRS feed

  • Domanda

  • Salve,

    volevo sapere come si fa ad ottenere un file txt con tutti i comandi per poter ripristinare un database (tabelle, dati, utenti) SQL Server Espress 2008 R2 in caso di necessità.

    Grazie

    martedì 27 dicembre 2011 14:53

Risposte

Tutte le risposte

  • volevo sapere come si fa ad ottenere un file txt con tutti i comandi per poter ripristinare un database (tabelle, dati, utenti) SQL Server Espress 2008 R2 in caso di necessità.

    Grazie

    Ciao,

    Il metodo più veloce per generare una copia di un database SQL Server è quello di eseguire un Full Backup tramite SQL Server Management Studio oppure il comando T-SQL BACKUP DATABASE. Il file avrà un formato proprietario ma conterrà una copia del db (oggetti, dati e database principal) che è possibile ripristinare successivamente sulla stessa istanza o su nuove istanze sempre da SQL Server Management Studio o con il comando RESTORE DATABASE.

    Nel caso desiderassi ottenere un file di testo contenente tutti i comandi T-SQL per rigenerare i dati ed i metadati di un database, puoi farlo da SQL Server Management Studio tramite il Generate SQL Server Scripts Wizard. Di default verrà generato uno script con i soli metadati ma tramite le opzioni avanzate potrai scegliere di esportare i dati, i metadati o entrambe le cose.

    Ciao!


    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.technet.microsoft.com/Forums/it-IT/sqlserverit
    • Contrassegnato come risposta Anca Popa mercoledì 11 gennaio 2012 08:45
    martedì 27 dicembre 2011 15:22
    Moderatore
  • Sì, avevo il backup di SQL Server Management Studio l'ho provato ed è quello che fa al caso mio.

    Però mi sono dimenticato di specificare che mi servirebbe poter eseguire il backup magari lanciando un file batch così da poter impostare un'operazione pianificata ed eseguire il backup ad intervallo di tempo prefissato.

    Mi va benissimo anche un file .sql, ho fatto la stessa cosa su di un server MySql che funziona correttamente ma per Microsoft SQL Server non sono ancora riuscito.

    Grazie.


    • Modificato y_chen martedì 27 dicembre 2011 15:28
    martedì 27 dicembre 2011 15:27
  • Però mi sono dimenticato di specificare che mi servirebbe poter eseguire il backup magari lanciando un file batch così da poter impostare un'operazione pianificata ed eseguire il backup ad intervallo di tempo prefissato.

    Grazie.

    Bene, utilizza l'utility command line sqlcmd.exe per eseguire il comando BACKUP DATABASE (tutte le opzioni le trovi sui Books Online al link indicato in precedenza). Questo comando puoi schedularlo tramite lo scheduler di Windows.

    Ciao!


    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.technet.microsoft.com/Forums/it-IT/sqlserverit
    martedì 27 dicembre 2011 15:30
    Moderatore
  • Ho creato il seguente file sql:

    BACKUP DATABASE Test TO disk = 'C:\Test.sql' WITH INIT, NAME = 'Test’, DESC = ’Backup Test - Completo con sovrascrittura', SKIP, CHECKSUM;

    E il seguente file batch:

    SQLCMD -S .\SQLEXPRESS -i Query_Backup.sql

    Che lanciandolo funziona e mi creare il file indicato, solo che si apre solo con notepad ed all'interno ci sono vari caratteri e non lo script per ripristinare il database. C'è qualche paramentro che dev'essere aggiunto? Nel link non ho trovato nulla per specificare il genere di file in output.

    Grazie.

    martedì 27 dicembre 2011 16:51
  • Che lanciandolo funziona e mi creare il file indicato, solo che si apre solo con notepad ed all'interno ci sono vari caratteri e non lo script per ripristinare il database. C'è qualche paramentro che dev'essere aggiunto? Nel link non ho trovato nulla per specificare il genere di file in output.

    Grazie.

    Come ti ho indicato nella prima risposta, il formato di un file prodotto con il comando BACKUP DATABASE è proprietario (è un formato binario) e non contiene comandi T-SQL.

    Per ripristinare un backup è sufficiente ricorrere al comando RESTORE DATABASE.

    Ciao!


    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.technet.microsoft.com/Forums/it-IT/sqlserverit
    martedì 27 dicembre 2011 16:54
    Moderatore