C#+SQLデータベースのバックアップとリストア


      SQLDMO.dll( com     Microsoft SQLDMO Object Library  )



  /// 

    /// DbOper ,    SQLDMO   Microsoft SQL Server         

    /// 

    public sealed class DbOper

    {

        /// 

        /// DbOper      

        /// 

        public DbOper()

        {

        }

        /// 

        ///      

        /// 

        public static void DbBackup()

        {

            SQLDMO.Backup oBackup = new SQLDMO.BackupClass();

            SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();

            try

            {

                oSQLServer.LoginSecure = false;

                oSQLServer.Connect(".","sa","sasa");//    、  、  

                oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;

                oBackup.Database = "tian";

                oBackup.Files = @"d:\tian.bak";

                oBackup.BackupSetName = "tian";

                oBackup.BackupSetDescription = "     ";

                oBackup.Initialize = true;

                oBackup.SQLBackup(oSQLServer);

            }

            catch

            {

                throw;

            }

            finally

            {

                oSQLServer.DisConnect();

            }

        }

        /// 

        ///      

        /// 

        public static void DbRestore()

        {

            SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();

            SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();

            try

            {

                oSQLServer.LoginSecure = false;

                oSQLServer.Connect(".", "sa", "sasa");

                oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;

                oRestore.Database = "tian";

                oRestore.Files = @"d:tian.bak";

                oRestore.FileNumber = 1;

                oRestore.ReplaceDatabase = true;

                oRestore.SQLRestore(oSQLServer);

            }

            catch

            {

                throw;

            }

            finally

            {

                oSQLServer.DisConnect();

            }

        }

    }

ソース:http://www.cnblogs.com/tianguook/archive/2010/07/01/1769515.html