#region Using directives using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Windows.Forms; using Microsoft.SqlServer.Management.Smo; #endregion namespace VerifiedBackup { partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Server s2k5 = new Server(); foreach (Database db in s2k5.Databases) // Loop through the databases { Databases.Items.Add(db.Name); // Add database name to the ListBox } } private void DoBackup_Click(object sender, EventArgs e) { // Get database name from the ListBox string db = Databases.SelectedItem.ToString(); string dbBck = «C:» + db + «.bak»; // Must escape the backslash in C# Backup bck = new Backup(); // Instantiate a Backup object bck.Action = BackupActionType.Database; // Set Action property bck.BackupSetName = db + «_BackupSet»; // Set BackupSetName property bck.Database = db; // Set Database name property bck.DeviceType = DeviceType.File; // Set DeviceType property // Add method adds file to Devices collection // Must escape the backslash in C# bck.Devices.Add(dbBck); // Instantiate a Server object and // invoke Backup object?s SqlBackup method Server s2k5 = new Server(); bck.SqlBackup(s2k5); Restore rst = new Restore(); // Instantiate a Restore object rst.DeviceType = DeviceType.File; // Set DeviceType property // Add method adds file to Devices collection rst.Devices.Add(dbBck); if (rst.SqlVerify(s2k5)) { // Similar to VERIFY RESTOREONLY MessageBox.Show(db + « backup verified»); } else { MessageBox.Show(db + « backup error»); } } } }