SMO : Backup All Databases

using System;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;

namespace SmartDbBackup
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            ServerConnection serverConnection = new ServerConnection("{SERVERNAME}");
            Server server = new Server(serverConnection);

            server.ConnectionContext.StatementTimeout = 0;

            foreach (Database database in server.Databases)
            {
                if (!database.IsSystemObject)
                {
                    Backup backup = new Backup();
                    backup.Database = database.Name;
                    backup.Devices.AddDevice(@"\\{FILESERVER}\{FILESHARE}\"
                                             + database.Name
                                             + DateTime.Now.ToString("yyyyMMdd_hhmmss")
                                             + ".bak",
                                             DeviceType.File);
                    backup.PercentCompleteNotification = 5;
                    /* wire up events */
                    backup.PercentComplete += backup_PercentComplete;
                    backup.Complete += backup_Complete;
                    backup.Initialize = true;
                    backup.Incremental = false;
                    backup.SqlBackup(server);
                    //Console.Write(backup.Script(server));
                }
            }

            Console.ReadLine();
        }

        private static void backup_Complete(object sender, ServerMessageEventArgs e)
        {
            Console.WriteLine("Backup complete.");
        }

        private static void backup_PercentComplete(object sender, PercentCompleteEventArgs e)
        {
            Console.WriteLine("Percent complete: {0}", e.Percent);
        }
    }
}

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading



Search

Tags

None

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2009