MSSQL üzerinden veritabanınızın yedeğini almak istedğiniz de , disk olarak bilgisayarınıza takılı olan yerel disklerinizin listesini size göstermektedir. Bu yüzden ağda yer alan başka bir diske yedek alma şansımız yok gibi görünse de , komut olarak bu işlemi yapma şansımız vardır.
adımları kısaca açıklayacak olursak ,
1 – xp_cmdshell komutu ile diskimizn bulunduğu ağ yolunu , ip adresini belirttiğimiz bilgisayardaki bir kullanıcı adını (domain bilgisi ile birlikte ) ve kullanıcının şifre bilgisini. (net uze z: ile yolu belirtilen konumu z olarak kullanmak istediğimizi belirtiyoruz , siz başka bir ad verebilirsiniz.)
2 – BACKUP komutu ile veritabanı adını ve yedeğe verecek olduğumuz ismi
3 – xp_cmdshell komutu ile oluşturduğumuz z yolunu siliyoruz.
EXEC master..xp_cmdshell ‘net use z: “\\192.168.1.1\d$\veritabaniYedekleri” kullanici_sifre /USER:Domain\kullanici_adi’ GO declare @isim char(100) set @isim=’z:\’+cast(Year(getdate()) as char(4))+’_'+cast(Month(getdate()) as char(2))+’_'+cast(Day(getdate()) as char(2))+’_dbTest.bak’ BACKUP DATABASE dbTest TO DISK=@isim WITH INIT GO EXEC master..xp_cmdshell ‘net use z: /delete’ GO
NOT : eğer xp_cmdshell kullanımı aktif değil ise , aşağıdaki kod yardımı ile aktif hale getirebilirsiniz.
EXEC sp_configure 'xp_cmdshell', 1 GO RECONFIGURE GO
Bu yazı yorumlara kapalı.