59 messaggi dal 06 aprile 2007
All'interno di una applicazione win vorrei inserire la possibilità di effettuare la copia del database sql 2005 per ragioni di sicurezza. Ho provato ad usare le librerie SMO ma ho visto che ha bisogno di configurare gli utenti con permessi adatti e se penso che vorrei distribuire la mia applicazione a diversi utenti che non devono preoccuparsi di tale problematiche, mi chiedo se c'e' qualche script vb.net che possa risolvermi il problema.
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

Ci sono diverse soluzioni anche tramite script T-SQL o comandi batch. Il problema è che in ogni caso devi utilizzare un utente SQL che abbia sufficienti diritti per eseguire il backup.

Ti posto in ogni caso un esempio (tra i molteplici possibili). Assumiamo che tu abbia una connessione valida verso il database (SqlConnection) chiamata cnn, puoi eseguire i seguenti comandi:

Dim cmd As New SqlCommand()

cmd.CommandType = CommandType.Text
' Se il backu è lungo, meglio controllare anche cmd.CommandTimeout
cmd.Connection = cnn

' Backup del database
cmd.CommandText = "xp_sqlmaint '-D ""NOME_DEL_DB"" -BkUpDB ""C:\CopieDb\CopiaDb.bak"" -Rpt ""C:\CopieDb\LogCopiaDb.txt"" -BkUpMedia DISK'"
cmd.ExecuteNonQuery()

' Backup del file di log
cmd.CommandText = "xp_sqlmaint '-D ""NOME_DEL_DB"" -BkUpLog ""C:\CopieDb\CopiaLog.bak"" -Rpt ""C:\CopieDb\LogCopiaLog.txt"" -BkUpMedia DISK'"
cmd.ExecuteNonQuery()



Alla prossima.

.:. Marcello Rutter .:.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.