Herkese merhaba,
Bu yazıda SQL Server’da bat dosyası ile yedek almak hakkında bilgi vereceğim.
SQL Server’da yedek almanın birçok yolu mevcut. İlk olarak bat dosyası ile yedek alan script dosyasını oluşturup sonrasında bat dosyasına çift tıklayınca yedek alma işleminin nasıl gerçekleşeceğinden bahsedeceğim.
Bu işlem için iki adet dosya oluşturacaksınız ve bu dosyalar aynı yerde/klasörde olacak.
1-) Yedek alan script dosyası (Yedekler.sql)
Bu dosyanın içeriğini aşağıda görmektesiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
DECLARE @name VARCHAR(50); DECLARE @path VARCHAR(256); DECLARE @fileName VARCHAR(256); DECLARE @fileDate VARCHAR(20); SET @path = 'D:\Backup\'; SELECT @fileDate = CONVERT(VARCHAR(20), GETDATE(), 112); DECLARE db_cursor CURSOR READ_ONLY FOR SELECT name FROM master.sys.databases WHERE name NOT IN ( 'master', 'model', 'msdb', 'tempdb' ) AND state = 0 AND is_in_standby = 0; OPEN db_cursor; FETCH NEXT FROM db_cursor INTO @name; WHILE @@FETCH_STATUS = 0 BEGIN SET @fileName = @path + @name + '_' + @fileDate + '.bak'; BACKUP DATABASE @name TO DISK = @fileName; FETCH NEXT FROM db_cursor INTO @name; END; CLOSE db_cursor; DEALLOCATE db_cursor; |
Burada set @path yazan kısım benim yedeği nereye alacağımı gösteriyor. Bu klasörün adını kendinize göre değiştirmelisiniz. Ayrıca yedek alınmasını istemediğiniz veritabanlarını da ( ‘master’, ‘model’, ‘msdb’, ‘tempdb’ ) bu kısımda belirtmelisiniz. Son olarak D sürücüsü altında Backup adlı klasörü oluşturdum. Siz de yedek alınacak klasörünüzü oluşturun. Aksi durumda bat dosyası çalışmaz.
2-) Yedek alan script dosyası (Yedek.bat)
Bu dosyanın içeriğini aşağıda görmektesiniz.
1 |
sqlcmd -S SQLSERVERINSTANCEADIBURAYA -U sa -P ADMINSIFRESIBURAYA-i "C:\Users\YAVUZSELIM\Desktop\Yedekler.sql" |
Instance name nedir biliyorsunuz diye düşünüyorum. SQL Server açıldığında karşınıza çıkan server name kısmı. Şifre de buraya girdiğiniz şifreniz. Herhangi bir tırnak vs falan koymadan olduğu gibi yukarıdaki şekilde yazıyorsunuz. Dosya yolu yazarken çift tırnaklar yukarıdaki gibi olacak.
Not : Bu içeriği ilk önce bir not defteri programı ile kaydedin sonrasında yedekler.txt uzantısını yedekler.bat olarak değiştirin. Kısacası txt dosya uzantısını bat yapacaksınız.
Bu işlemleri bitirdi iseniz şimdi bat dosyasına çift tıklayın.
Çift tıkladıktan sonra sırayla aşağıdaki ekranları göreceksiniz.
Bat dosyası çalıştı. Yedek alma işlemini yapıyor. İşlem veritabanı büyüklüğüne göre zaman alabilir. Yedek alma işlemi bitince bu ekran kendiliğinden kapanacak. Ekran kapanınca ise ilgili klasöre gidince yedekleri aşağıdaki gibi göreceksiniz.
Görüldüğü üzere bat dosyası ile yedek almış olduk.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.
