Forum
Üstadlar kullandığımız ticari program sql2005 server üzerinde kayıtları tutuyor. Şöyle bir sıkıntımız var. Sql çalışırken yedek alma şansımız yok. Program kendi içinde sql'i durdurup yedekte alamıyor. Bizim manuel olarak sql'i durdurup yine manuel yedek almamız gerekiyor.
Sql'i durdurmadan otomatik olarak yedekleme işlemini nasıl gerçekleştirebiliriz.
yedeklemeyi nasıl alıyorsunuz? ticari programın dosyalarını mı yedekliyorsunuz yoksa sql server yönetimi içerisinden database i mi alıyorsunuz?
Hocam yazdığım makaleyi okuyarak istediğini yapabilirsin.
Otomatik olarak istediğin zamanda sistemi durdurmadan backup alabilirsin. Siz galiba servisi durdurup mdf dosyalarının kopyasını alıyorsunuz. Buda yanlış bir yöntem.
Saygılar.
Hocam yazdığım makaleyi okuyarak istediğini yapabilirsin.
Otomatik olarak istediğin zamanda sistemi durdurmadan backup alabilirsin. Siz galiba servisi durdurup mdf dosyalarının kopyasını alıyorsunuz. Buda yanlış bir yöntem.
Saygılar.
servisi durdurup kılasörün bire bir kopyasını alıyoruz
Ayrıca makale için çok teşekkürler
Hemen uygulayacağım.
http://www.cozumpark.com/forums/post/96277.aspx
http://www.cozumpark.com/blogs/sql/archive/2008/05/11/sql-server-2005-backup-restore.aspx
inceler misiniz? Ek olarak forum kısmında da farklı yöntemler üzerine konuşuolmuştu diye hatırlıyorum.
servisi durdurup kılasörün bire bir kopyasını alıyoruz
Ayrıca makale için çok teşekkürler
Hemen uygulayacağım.
Evt bu durum çok kötü. Çok fazla manuel olmuş bir durum bu. Elle backup bile almıyorsunuz. klasörün kopyasını alıyorsunuz.
Makalede dediğim gibi yaparsanız hiç zahmet etmeden istediklerinizi yaptırabilirsiniz.
Bu işlemi T-SQL ile yapmak isterseniz
use master
go
declare @db_name nvarchar(128),
@stmt varchar(8000)
declare crdatabase insensitive cursor for
select name from sys.databases
where database_id>4
open crdatabase fetch from crdatabase into @db_name
while (@@fetch_status =0)
begin
set @stmt= 'BACKUP DATABASE ['+ @db_name +'] TO DISK = N''D:\' + @db_name + '.bak'' WITH NOFORMAT, INIT, NAME = N''Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,COMPRESSION, STATS = 10'
exec(@stmt)
fetch next from crdatabase into @db_name
end
close crdatabase
deallocate crdatabase
Not: SQL Server 2005 Compress i desteklemez. İlgili kodun SQL Server 2005 te çalışması için Compress i çıkartın.
Merhabalar,
Konu ile ilgili benim de bir sorum olacak. Yardımcı olursanız memnun olurum.
Problem şöyledir;
Portal olarak kullanılan Windows 2008 Standart x64 server üzerinde SQL Server 2005 kuruludur. 5 adet DB mevcuttur. Her bir DB için Joblar oluşturulmuş durumdadır. Backuplar otomatik alınıyor sorun yok. Yalnız DB lerden birinin backup`ı her gün üzerine artırmalı olarak alıyor. Yani örneğin DB boyutu 3 GB. ertesi gün o 3 GB tekrar üzerine yazıyor ve 6 GB oluyor. Dolayısı ile belirli bir zaman sonra backup onlarca değere ulaşıyor. Diğer DB backuplarda böyle bir sorun yok. Job özelliklerini de kontrol ettim bir sıkıntı görünmüyor. Bu sorunu nasıl aşabilirim. Job oluşturulurken es geçilen birşey olmuş olabilir mi ?
Cevaplarınız için şimdiden teşekkür ederim.
append yada overwrite olması backup seçeneklerindeki INIT-NOINIT seçeneği ile belirlenir.
NOINIT : append yapar
INIT : overwrite yapar.
Default u NOINIT dir.
backup scriptini kontrol etmeni tavsiye ederim. INIT olarak alırsan overwrite edecektir.
Merhabalar,
Cevap için teşekkürler. Söylediğiniz gibi DB NOINIT olarak ayarlıymış. Peki ben script`e 1 hafta öncekileri otomatik sil dedirtebilir miyim? Olursa nasıl bir komut eklemem gerek ? Script aşağıdaki gibidir;
BACKUP DATABASE [WSS_Content] TO DISK = N'D:\SQL_BACKUP\WSS_Content-Full Database Backup' WITH NOFORMAT, INIT, NAME = N'WSS_Content-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
Teşekkürler.
Maintenance Plan tanımlayıp belirtiğiniz günden eski backupları silebilirsiniz.
Merhabalar,
Cevap için teşekkürler. Söylediğiniz gibi DB NOINIT olarak ayarlıymış. Peki ben script`e 1 hafta öncekileri otomatik sil dedirtebilir miyim? Olursa nasıl bir komut eklemem gerek ? Script aşağıdaki gibidir;
BACKUP DATABASE [WSS_Content] TO DISK = N'D:\SQL_BACKUP\WSS_Content-Full Database Backup' WITH NOFORMAT, INIT, NAME = N'WSS_Content-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GOTeşekkürler.
Buyur hocam, eski backupları silmek için maintenance plan yazımdan yararlanabilirsin.
http://ahmetrende.com/2010/10/21/sql-server-da-maintenance-plan-olusturmak-backup-cleanup-task/
Arkadaşlar öncelikle pek çok uzmanı bir post içerisinde görmek beni çok mutlu etti bunu belirtmek istedim. Ancak zaten portal içerisindeki kaynakları için dış link kullanmaya gerek yok . Ahmet bizden yabancı değil ama bunu gören ve amacı reklam olan birisini bu şekilde uyardığımız zaman bu postları örnek gösterirse biz zor durumda kalırız.
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
Hocam haklısın daha dikkatli olalım bundan böyle..
Maintenance plan makalesinide hemen yazalım;
http://www.cozumpark.com/blogs/sql/archive/2008/03/28/microsoft-sql-server-2005-zerinde-otomatik-yedekleme-kural-nas-l-olu-turulur.aspx
Anlayışın için teşekkür ederim Ahmet.
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************