[ west_herc @ 14.01.2007. 19:48 ] @
Na koji nacin napraviti da iz aplikacije uradite backup baze u određeni direktorij?

Da li je:

BACKUP DATABASE database_name
FILE = 'sysft_fulltext_cat'
TO backup_device

ispravno i gdje ovo treba staviti kako bi se backupirala baza, jel u stored procedures?

Hitno
[ Hrvoje Balažinec @ 15.01.2007. 11:03 ] @
Evo kako to ja radim:

Code:


if exists (select name from sys.procedures where name = 'BackupDatabase')
    drop procedure BackupDatabase
go


create procedure BackupDatabase
@Baza    varchar (50),
@Direktorij    varchar(250),
@NazivDatoteke varchar (250)


with encryption as


declare @BazaPodataka varchar(50)  
declare @Path varchar(250)   
declare @Datoteka varchar(250)  
 

set @Path = @Direktorij  

declare db_cursor cursor for  
select @Baza from master.dbo.sysdatabases where name not in ('master','model','msdb','tempdb')  

open db_cursor   
fetch next from db_cursor into @BazaPodataka   

while @@fetch_status = 0   
begin   
       set @Datoteka = @Direktorij + '\' + @NazivDatoteke + '.bak'  
       backup database @Baza to disk = @Datoteka 

       fetch next from db_cursor into @BazaPodataka   
end   

close db_cursor   
deallocate db_cursor 

--execute BackupDatabase 'TestBaza', 'C:\SQL', 'testbaza'




Radim u MS SQL Server 2005 i ovo radi.
[ InfoPano @ 15.01.2007. 14:16 ] @
Najjednostavnije i najstandardnije je da to uradis koristenjem sledece komande (samo promeni parametre):

BACKUP DATABASE ImeTvojeBaze TO disk='C:\nekifolder\ImeTvojeBazeBackup.dat' WITH INIT, stats=10
[ dezlux @ 16.01.2007. 07:56 ] @
Ja ču nadoveznuti na pitanje!

Kako onda taj backup vratiti nazad u slučaju havarije? Importirati?
[ Hrvoje Balažinec @ 16.01.2007. 12:09 ] @
Recovery restore:

Code:

RESTORE DATABASE NekaBaza
FROM DISK = 'C:\backups\nekabaza.bak'
WITH RECOVERY


ili cijeli restore

Code:


RESTORE DATABASE NekaBaza
   FROM DISK = 'C:\backups\nekabaza.bak'
   WITH MOVE 'ime dat-a' TO 'C:\backups\nekabaza.mdf',
   MOVE 'ime_log-a' TO 'C:\backups\nekabaza.ldf'


--ime dat-a i ime_log-a vidis: LogicalName

RESTORE FILELISTONLY 
   FROM DISK = 'C:\backups\nekabaza.bak'