Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 2.319 pregleda

Najnovija ↓

Periodicno backup-ovanje baze 01.05.2010. u 11:36 · pre 200 meseci #1
Imam .NET aplikaciju gde treba na neki odredjeni period automatski da mi se izvrsi backup baze. Ne znam sada koje je najoptimalnije resenje da pozivam taj kod. Recimo da aplikacija treba da se bekapuje na svakih 3 sata, logicno mi deluje da koristim neki timer, ali me zanima da li ima jos neko resenje za ovaj problem?
Re: Periodicno backup-ovanje baze 01.05.2010. u 13:39 · pre 200 meseci #2
A sto ne koristis backup facility SQLa? Ima i svoj scheduler i sve sto ti treba.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: Periodicno backup-ovanje baze 02.05.2010. u 11:31 · pre 200 meseci #3
mozda ne koristi SQL?

mogao bi na primer na serverskom delu aplikacije da podignes thread koji bi radio
Code:
while (true)
{
bekap();
Thread.Sleep(3*60*60*1000);
}

Re: Periodicno backup-ovanje baze 04.05.2010. u 12:52 · pre 200 meseci #4
Koristim donji kod za backup. SQL express nema opciju da na odredjeno vreme vrsi backup. Tako da cu najverovatnije ovo dole pozivati na drugom thread-u :(
Code:

public void BackupDatabase(String databaseName, String userName,
            String password, String serverName, String destinationPath)
        {
            try
            {
                Backup sqlBackup = new Backup();

                sqlBackup.Action = BackupActionType.Database;
                sqlBackup.BackupSetDescription = "ArchiveDataBase:" +
                                                 DateTime.Now.ToShortDateString();
                sqlBackup.BackupSetName = "Archive";

                sqlBackup.Database = databaseName;

                BackupDeviceItem deviceItem = new BackupDeviceItem(destinationPath, DeviceType.File);
                ServerConnection connection = new ServerConnection(serverName, userName, password);
                Server sqlServer = new Server(connection);

                Database db = sqlServer.Databases[databaseName];

                sqlBackup.Initialize = true;
                sqlBackup.Checksum = true;
                sqlBackup.ContinueAfterError = true;

                sqlBackup.Devices.Add(deviceItem);
                sqlBackup.Incremental = false;

                sqlBackup.ExpirationDate = DateTime.Now.AddDays(3);
                sqlBackup.LogTruncation = BackupTruncateLogType.Truncate;

                sqlBackup.FormatMedia = false;

                sqlBackup.SqlBackup(sqlServer);
            }
            catch (Exception)
            {
                // to do
            }
        }
Re: Periodicno backup-ovanje baze 04.05.2010. u 22:16 · pre 200 meseci #5
SQL Server Express nema opciju ali svakako imas obican windows-ov Task Scheduler. Napravi na serveru BAT ili CMD sa sledecim sadrzajem:

Code:

sqlcmd.exe -U username -P password -S server -Q "BACKUP DATABASE....."


...onda sa windowsovim Task Scheduler-om napravi job koji ce da se pokrece po zeljenom rasporedu i to je to. Ja sam tako resavao backup pa cak i replikaciju na Express verzijama.
Potpis
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme