Kako da ne može. Radi to sasvim dobro.
Napravi batch fajl i u njega stavi sljedeću komandu (prepravi bold-ovano):
echo.
echo SQL-Server - Backup baze
XY
echo -----------------------------
osql -S
SERVER -E -Q "SELECT 'BACKUP
XY DATABASE ON ' + CONVERT(varchar, GETDATE()); BACKUP DATABASE [
XY] TO DISK = N'\\
BACKUPSERVER\d$\BackupDevice\Databases\XY.bak' WITH INIT , NOUNLOAD , NAME = N'
XY backup', SKIP , STATS = 10, NOFORMAT; select position from msdb..backupset where database_name='
XY'and type!='F' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name='
XY'); RESTORE VERIFYONLY FROM DISK = N'\\
BACKUPSERVER\d$\BackupDevice\Databases\XY.bak' WITH FILE = 1 , NOUNLOAD " -o "\\
BACKUPSERVER\d$\BackupDevice\Databases\XY-BackupLog.txt"
Potom kreiraj jedan schedule job da se izvršava u vrijeme kada ti odgovara i da poziva ovaj batch fajl. Važno je da definišeš korisnika sa čijim će se pravima pokretati ovaj batch (s' obzirom da treba otići na remote lokaciju koja može biti zaštićena).
Navedena komanda će izvršiti full backup i verifikovati ga, a sav output (log) će smjestiti u odgovarajući .txt fajl u isti folder gdje se nalazi i backup baza.
SQL upit na početku je dodat da bih imao neki header log-a sa datumom i vremenom kada je backup kreiran, pa to izgleda otprilike ovako:
Code:
-----------------------------------------------------------
BACKUP XY DATABASE ON Apr 12 2008 5:00AM
(1 row affected)
12 percent backed up.
20 percent backed up.
35 percent backed up.
42 percent backed up.
55 percent backed up.
61 percent backed up.
74 percent backed up.
81 percent backed up.
92 percent backed up.
Processed 1848 pages for database 'XY', file 'XY_dat' on
file 1.
100 percent backed up.
Processed 1 pages for database 'XY', file 'XY_log' on
file 1.
BACKUP DATABASE successfully processed 1849 pages in 4.253 seconds
(3.559 MB/sec).
position
-----------
1
(1 row affected)
The backup set is valid.
Može i jednostavnije, bez ovih procenata... ali to ostavljam tebi na volju :)