Esempio n. 1
0
        internal static void Restore(Settings settings)
        {
            _settings = settings;

            _sqlConnectionStringBuilder = new SqlConnectionStringBuilder(string.Format("Server={0};Database=Master;Trusted_Connection=True;", _settings.Server));

            var filename = string.IsNullOrWhiteSpace(settings.RestoreFilename)
                ? _settings.GetBackupFileName()
                : settings.RestoreFilename;
            var backupPath = Path.Combine(_settings.BackupFolder, filename);

            if (!File.Exists(backupPath))
            {
                throw new FileNotFoundException(string.Format("Cannot find the backup file '{0}'", backupPath));
            }

            var restoreDb = CreateRestore(backupPath);

            var connection       = SetSingleUser(true);
            var serverConnection = new ServerConnection(connection);
            var server           = new Server(serverConnection);

            ProgressBar.SetupProgressBar("RESTORE " + _settings.DatabaseName);

            _startTime = DateTime.Now;
            restoreDb.SqlRestoreAsync(server);

            Sync.WaitOne();

            SetSingleUser(false);

            Cleanup(restoreDb);
        }
Esempio n. 2
0
        internal static void Backup(Settings settings)
        {
            _settings = settings;

            var backupPath = Path.Combine(_settings.BackupFolder, _settings.GetBackupFileName());

            var backup = CreateBackup(backupPath);

            ProgressBar.SetupProgressBar("BACKUP " + _settings.DatabaseName);

            var server = new Server(_settings.Server);

            _startTime = DateTime.Now;

            backup.SqlBackupAsync(server);

            Sync.WaitOne();

            Cleanup(backup);
        }