SQL Express yedek alma.

SQLExpress

Merhaba Teknolojik-Blog Okurları,

Bu yazımızda sizlere SQL Express sürüm üzerinde zamanlanmış yedek nasıl alınır onu anlatmaya çalışacağım. Bilindiği üzere SQLExpress Bazı veritabanı kullanan programlarla birlikte ücretsiz olarak kullanılmaktadır. DB alan kısıtlaması olmasına rağmen küçük işletmeler için oldukça yaygın olarak kullanılmaktadır.

Zamanlı yani Schecuduled Backup kurulumu için Backup işlemini SQL server üzerinde yapan bir scripte ve bu scripti çalıştırmak için komut satırı programına Batch file’a ihtiyacımız var.

SQL Satırında Bold olarak işaretli yerler benim belirlediğim yerler. Örneğin yedeklerin hangi sürücü ve klasöre kopyalanacağı ve bir yedeğin kaç gün tutulacağı gibi.

Benim burada dosyalarımın kaydedileceği yol D:\SQL-BACKUP
Hemen altındaki satırda ise bir yedeğin kaç gün yedek klasöründe kalacağını bildiriyorum yani ben en fazla 5 günlük yedek tutulsun istedim.

Birinci Adım : Aşağıdaki komutları backup.sql isminde bir dosya oluşturup içine atın.

backup.sql
=======================================
DECLARE @path varchar(100)
DECLARE @day int
DECLARE @date varchar(30)
DECLARE @cmd varchar(250)
DECLARE @DeleteDate datetime

—- PARAMETRELER —-

SET @path = ‘D:\SQL-BACKUP
SET @day = 5

—- PARAMETRELER —-

SET @date = CONVERT(varchar(16),GETDATE(), 120)
print @date + ‘ Backup Log’
print ”
SELECT @date = REPLACE(@date,’:’,”)
SELECT @date = REPLACE(@date,’ ‘,”)
SELECT @date = REPLACE(@date,’-‘,”)

SET @cmd = ‘IF DB_ID(”?”)<>2 BACKUP DATABASE [?] TO DISK = ”’ + @path + ‘\?_backup_’ + @date + ‘.bak” WITH INIT’
EXEC sp_msforeachdb @cmd

SET @DeleteDate = DateAdd(day, -@day, GetDate())
EXECUTE master.sys.xp_delete_file 0, @path, N’bak’, @DeleteDate, 0
GO
=======================================

2. Adım Aşağıdaki komutları SQLBackup.cmd olarak kaydedin.

SQLBackup.cmd
=======================================
cd\Windows
SQLCMD -S SERVER\SQLEXPRESS -U sa -P Şifreniz -i backup.sql -o D:\SQL-BACKUP\SQL_BKP_LOG_%date%.log
=======================================

3. Adım Oluşturduğunuz 2 dosyayı da c:\Windows klacörüne atın.

Şimdi Task Schecuduler üzerinden yeni bir task yaratın zamanlı program çalıştırmayı seçerseniz sizden çalıştırılabilir dosyanız sorulacak bu alana SQLBackup.cmd dosyasını gösterin. ( Schecuduled Task oluşturma işlemini bildiğinizi varsayıyorum )

Hepsi bu kadar artık SQLEXPRESS verileriniz istediğiniz yere günlük olarak yedeklenecektir.

Teknolojik-Blog.Com
Aziz Ozdemiroglu


Bir yanıt yazın

Connect with: