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

你可能感兴趣的:(数据库备份)