İçeriğe geç

Ağdaki bir diske veritabanı yedeği ( Back Up ) almak

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

Kategori:SQLTipucu

Bu yazı yorumlara kapalı.