Bizim entegrasyon testi için bir test veritabanı (SQL Server'da) ile çalışma bir yol tanımlamak çalışıyorum.
Benim fikrim, entegrasyon testi montajının başlangıcında şu adımları yapmaktı:
- tamamen boş bir veritabanı oluştur
- ilgili tüm veritabanı nesnelerini (tablo, görünümler, diziler vb.) oluşturmak için "veritabanı nesneleri oluştur" komut dosyasını çalıştırın
- "temel verileri" doldur (arama değerleri vb.)
(db)_Basis
gelecekteki entegrasyon testleri için "temel çizgi" olarak adlandırılan bir veritabanı anlık görüntüsü alın
Şimdi her test sınıfından önce (1-n testleri içeren), veritabanının iyi tanımlanmış, az çok "boş" durumuna geri dönmek için basitçe bir "anlık görüntüden geri yükleme" yapmayı planlıyordum. Şimdiye kadar bir cazibe gibi çalışıyor.
Ancak, büyük bir test veritabanında çalışması gereken bir dizi entegrasyon testi vardır - bu yüzden bu test fikstürlerinin her biri (n bireysel testli sınıflar) önce bunu yapmayı umuyordum
- veritabanını
(db)_Basis
anlık görüntüden geri yükle - bu 50.000'den fazla veri satırını veritabanına ekleyin
- başka bir anlık
(db)_With_Testdata
görüntü oluştur
ve sonra her test için, veritabanını iyi tanımlanmış (db)_With_Testdata
anlık görüntü sürümüne sıfırlayın , testleri çalıştırın, sonucu doğrulayın vb.
Sorun: Aynı anda iki db anlık görüntüleri var gibi görünmüyor - bir kez yaptıktan sonra, bunlardan herhangi birine benim veritabanı geri yükleyemiyorum .... Bu hatayı almaya devam:
Msg 3137, Seviye 16, Durum 4, Satır 9
Veritabanı geri alınamaz. Birincil veya anlık görüntü adları yanlış belirtilmiş, diğer tüm anlık görüntüler bırakılmamış veya eksik dosyalar var.Msg 3013, Seviye 16, Durum 1, Satır 9
VERİTABANI GERİ YÜKLE anormal olarak sonlanıyor.
Gerçekten SQL Server veritabanı anlık görüntüleri nasıl çalışır ?? Çok kısıtlayıcı görünüyor ..... Doğrudan orijinal "(db) _Basis" anlık görüntüsüne geri dönemezsem anlayabilirdim, ama sadece iki anlık görüntüm olduğu için, en son görüntüye bile geri dönemem ?!?!?