SQL Express yedek alma.

Cevapla
Kullanıcı avatarı
UcanKelebek
Mesajlar: 13
Kayıt: 26 Nis 2020, 23:30
İletişim:

SQL Express yedek alma.

Mesaj gönderen UcanKelebek »

Resim
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.

Kod: Tümünü seç

https://www.teknolojik-blog.com/sql-express-yedek-alma/

Cevapla

“phpMyAdmin / SQL” sayfasına dön

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 1 misafir