Posts
256
Comments
330
Trackbacks
7
agosto 2009 Entries
Shrink, BackUp e ...SSIS

Uno dei task più frequenti nella manutenzione dei database (nel caso SQL Server) è quello di  effettuarne lo Shrink (a riguardo, suggerisco di leggere il commento lasciato da Davide Mauri) ed il BackUp. Finchè le operazioni riguardano un solo database possiamo completare il task utilizzando, ad esempio, SQL Server Management Studio. Nel caso in cui le suddette operazioni debbano essere effettuate su più database la "faccenda si complica" (più che altro diventa ripetitiva) e possiamo
risolvere il problema creando un package SSIS (SQL Server Integration Services). Premetto che googlando si possono trovare diverse soluzioni, utilizzando anche lo stesso sistema. Per iniziare, apriamo Visual Studio (2008 Professional nel mio caso) e partiamo con il creare un nuovo progetto "Integration Services Project" (ovviamente per visualizzare questo template è necessario che tutti i componenti relativi siano correttamente installati e configurati)

Figura_1

Creiamo una nuova connessione al server sql interessato nel "Connection Managers" (tasto destro->"New OLE DB Connection...")

Figura_2

Se si vuole, dopo la creazione della connessione è sempre possibile rinominare la stessa.

A questo punto, nel "Control Flow" non ci resta che trascinare due Task presenti nel Tab
"Maintenance Plan Tasks" della Toolbox, in particolare "Shrink Database Task" e "Back Up Database Task". Per impostare le opzioni ed i database su cui eseguire le operazioni è sufficiente un doppio click sui task aggiunti. Ad esempio cliccando due volte su "Shrink Database Task", otteniamo:

Figura_3

Effettuiamo la stessa operazione sul task relativo al BackUp. A questo punto abbiamo quasi terminato, ma vogliamo che al completamento delle operazioni venga inviata all'amministratore una e-mail di notifica. Potremmo utilizzare "Send Mail Task", ma ha delle limitazioni (tra lequali non è possibile specificare le credenziali d'accesso al server SMTP, ma utilizza l'autenticazione di Windows), per questo, aggiungiamo uno "Script Task" nel nostro "Data Flow". Solito doppio click, e nella finestra visualizzata premiamo
sul bottone con la dicitura "Edit Script...".

Figura_4

Verrà visualizzata una finestra di Visual Studio in cui possiamo scrivere il codice (C#) per l'invio dell'e-mail. Per chi è abituato ad usare Visual Basic, nella finestra delle proprietà del Task è possibile scegliere quale linguaggio utilizzare (nota: nella versione 2005 non era possibile scegliere tra i due linguaggi). Prima di iniziare a scrivere è necessario aggiungere un riferimento all'assembly System.Net.dll al progetto. Scriviamo del codice simile al seguente:

   1:  System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
   2:  message.From = new System.Net.Mail.MailAddress("indirizzo@dominio.it");
   3:  message.To.Add (new System.Net.Mail.MailAddress("amministratore@dominio.it"));
   4:  message.Body =string.Format ("BackUp dei database completato ({0:d})",DateTime.Now );
   5:  message.Subject ="Backup"; 
   6:   
   7:  try
   8:  {
   9:      System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.dominio.it");
  10:      smtp.Credentials = new NetworkCredential("username", "password");
  11:      smtp.Send(message); 
  12:   
  13:      Dts.TaskResult = (int)ScriptResults.Success;
  14:  }
  15:  catch (Exception ex)
  16:  {
  17:      Dts.Log(ex.Message, 123, null);
  18:      Dts.TaskResult = (int)ScriptResults.Failure;
  19:  } 

Tramite un costrutto Try...Catch catturiamo eventuali eccezioni ed indichiamo  il successo o il fallimento del task.

Ogni volta che abbiamo la necessità di utilizzare questo Package, non è necessario aprire  un'istanza di Visual Studio, ma è possibile utilizzare l'utility "DTExec.exe"  da riga di comando (ad esempio, DTExec.exe /FILE "package.dtsx". (E' possibile trovare il package nella directory "bin" del progetto)

Technorati Tag: ,,
posted @ mercoledì 26 agosto 2009 8.30 | Feedback (2)
SQL Server 2005 Build List
Al seguente indirizzo http://www.sqlservercentral.com/articles/Administration/2960/ è presente un articolo aggiornato al 17/06/2009 da Steve Jones con l'elenco delle Build relative a SQL Server 2005. Per ogni build è presente il link alla relativa pagina di descrizione. Sono ben messe in evidenza (in testa all'articolo) le Major Builds (RTM, SP1, SP2, SP3).
posted @ sabato 22 agosto 2009 10.36 | Feedback (0)
[OT] Vacanze intelligenti ...
Siete stufi delle solite vacanze? Allora provate come Bill Gates...
P.S. In alcune circostanze forse non sarebbe male.
posted @ lunedì 10 agosto 2009 14.43 | Feedback (0)
Windows 7 RTM per MSDNAA
Da ieri 6 agosto, anche su MSDNAA (MSDN Academic Alliance) è disponibile il download di Windows 7 RTM.
Le versioni disponibili sono:
  • Windows 7 (x86 e x64) Professional
  • Windows 7 (x86 e x64) Enterprise (VL Edition for labs)

Ottobre è vicino...


P.S. : Ho appena ricevuto un'e-mail in cui viene indicato che anche per i TechNet Plus Subscribers è disponibile il download di Windows 7 RTM
posted @ venerdì 7 agosto 2009 10.33 | Feedback (0)
Nuovo MSP...
La conferma è arrivata ieri, da settembre farò parte degli MSP dell'Università "La Sapienza" di Roma. Molto probabilmente sarà il mio ultimo anno universitario, ma cercherò di renderlo molto attivo!. Qualche giorno di lavoro/ferie e poi si parte...
posted @ mercoledì 5 agosto 2009 10.44 | Feedback (1)
News

View Pietro Libro's profile on LinkedIn

DomusDotNet
   DomusDotNet

Pietro Libro