Visualizzazione post con etichetta sql. Mostra tutti i post
Visualizzazione post con etichetta sql. Mostra tutti i post

sabato 31 ottobre 2009

Ripristinare un DB SQLServer da file .bak

Ecco come riavere in un attimo .mdf e .ldf ripristinati a partire dal file di backup .bak:


Comodissimo in SQLScheduler su db MSSQL Server!

Backup DB SQLServer 2000 / 2005 Free Automatico

Anche se siamo alle "sogliole" del 2010 è il caso di proporvi questo how-to free sulla copia di backup di database sql server 2000 e/o 2005. Ovviamente esistono soluzioni commerciali quali Uranium Backup che già fa tutto ciò che sto per scrivere, ma a pagamento.

Scopo

Creare (schedulare) una procedura automatica di backup di database sql server (.mdf e .ldf) a caldo, quindi senza detach e attach (o meglio senza fermare servizi!!!) ed inviare il tutto su un server remoto (tipo ftp). Predisporre, inoltre, una procedura di ripristino dei backup.

Software
HOW-to

Installate (sul sito la procedura è abbondantemente descritta) ed eseguito SQLScheduler:
  • aggiungete il server sul quale è installato SQLServer (localhost se sulla stessa macchina);
  • create un "New Job" e alla voce "Details" inserite il codice di seguito riportato e correttamente editato secondo le vostre esigenze:




  • alla voce "Schedule" impostare la frequenza di backup;

  • installare ed eseguire Comodo BackUp;

  • progammate il backup dei file .bak in maniera da farlo partire solo dopo che SQLScheduler ne abbia terminato la creazione!!;


Nella mia implemantazione ho preferito creare un batch che viene eseguito al termine della copia (funzione di Comodo BackUp in External Task) che elimina i vecchi file di backup:


StayUp...

martedì 4 novembre 2008

SQL Server 2000 - BACKUP - Export Stored Procedure, Script Creazione Tabelle... ed altro

Scope: Salvare in un file di testo tutte le stored procedure contenute in un DB.
(Si possono estrarre anche gli script di creazione delle tabelle o le chiavi, insomma si può creare un Backup della struttura del DB)

Come si fa:
Aprire l'Enterprise Manager, tasto destro sul DB come in figura.
Da AVARIATO
Nella maschera Generate SQL cliccare su Show All -> All Stored Procedures come da figura.
Da AVARIATO

sabato 22 marzo 2008

.NET SQL c# recuperare l'id del record appena inserito

E' di vitale importanza recuperare l'effettivo id (o di una qualsiasi chiave) di un record appena inserito con una INSERT. Di seguito il codice in c# :

string query = "INSERT INTO Blog (titolo, contenuto, data, dataCreazione, bozza) ";
query += "VALUES (@Titolo, @Contenuto, @Data, @DataCreazione, @Bozza); ";
query += "SET @PostID = SCOPE_IDENTITY()";
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DBTEST"].ConnectionString);
SqlCommand cmd = new SqlCommand(query, conn);
cmd.CommandType = CommandType.Text;

SqlParameter TitoloParameter = new SqlParameter("@Titolo", SqlDbType.VarChar, 255);
TitoloParameter.Value = tbTitolo.Text;
cmd.Parameters.Add(TitoloParameter);

SqlParameter ContenutoParameter = new SqlParameter("@Contenuto", SqlDbType.NText);
ContenutoParameter.Value = tbContenuto.Text;
cmd.Parameters.Add(ContenutoParameter);

SqlParameter DataParameter = new SqlParameter("@Data", SqlDbType.DateTime, 8);
DataParameter.Value = dataPostStr;
cmd.Parameters.Add(DataParameter);

SqlParameter DataCreazioneParameter = new SqlParameter("@DataCreazione", SqlDbType.DateTime, 8);
DataCreazioneParameter.Value = DateTime.Now.ToShortDateString();
cmd.Parameters.Add(DataCreazioneParameter);

SqlParameter BozzaParameter = new SqlParameter("@Bozza", SqlDbType.Bit, 1);
BozzaParameter.Value = true;
cmd.Parameters.Add(BozzaParameter);

SqlParameter IDParameter = new SqlParameter("@PostID",SqlDbType.Int);
IDParameter.Direction = ParameterDirection.Output;
cmd.Parameters.Add(IDParameter);

conn.Open();
cmd.ExecuteNonQuery();
int idPost = (int)IDParameter.Value;
conn.Close();

this.lblIdPost.Text = "ID del post inserito: " + idPost.ToString();

In rosso il codice più importante...
se avete problemi a leggere il codice provate con questa vaersione: Insert scope_identity in c#

Happy SQL

lunedì 17 marzo 2008

Interruzione anomala di RESTORE DATABASE

Per l'operazione di backup o ripristino sono state specificate troppe periferiche di backup. Il numero massimo consentito è 64. Interruzione anomala di RESTORE DATABASE in corso.
L'esperienza mi dice che hai intenzione di fare un ripristino di un db su SQL SERVER 2000 con un backup di SQL SERVER 2005. Bhe! Se è così sappi che stai perdendo tempo. Non si può! :P
E' possibile fare il contrario tranquillamente ma da 2005 e 2000 non c'è molto da fare.

Ciauz

martedì 7 agosto 2007

SQL copiare dati da una tabella ad un'altra

Capita spesso di perdere inutilmente del tempo dietro a piccole cose... ecco una piccola query sql per copiare al volo dati da una tabella ad un'altra tabella:
INSERT INTO nome_tabella_destinazione
(nome_campo_uno, nome_campo_due, nome_campo_tre)
SELECT nome_campo_sorgente_uno, nome_campo_sorgente_due, nome_campo_sorgente_tre
FROM nome_tabella_sorgente
WHERE nome_campo_sorgente_uno > 10;
Buona giornata :)