Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Çevrimiçi veritabanındaki veriler zarar görürse, bazı durumlarda veritabanını hasarı önleyen bir veritabanı anlık görüntüsüne geri döndürmek, veritabanını yedekten geri yüklemeye uygun bir alternatif olabilir. Örneğin, veritabanını geri döndürmek, bırakılan tablo gibi son zamanlarda ciddi bir kullanıcı hatasını ters çevirmek için yararlı olabilir. Ancak, anlık görüntü oluşturulduktan sonra yapılan tüm değişiklikler kaybolur.
Başlamadan önce:
Bir Veritabanını Veritabanı Anlık Görüntüsüne Döndürmek için:Transact-SQL
Başlamadan Önce
Sınırlamalar ve Kısıtlamalar
Geri döndürme aşağıdaki koşullar altında desteklenmez:
Veritabanı için birden çok anlık görüntü vardır. Geri dönmek için, dönmeyi planladığınız veritabanı için yalnızca bir anlık görüntü olmalıdır.
Veritabanında salt okunur veya sıkıştırılmış dosya grupları vardır.
Tüm dosyalar artık çevrimdışıdır ancak anlık görüntü oluşturulduğunda çevrimiçiydi.
Veritabanını geri döndürmeden önce aşağıdaki sınırlamaları göz önünde bulundurun:
Geri döndürme, medya kurtarma için tasarlanmamıştır. Veritabanı anlık görüntüsü, veritabanı dosyalarının tamamlanmamış bir kopyasıdır, bu nedenle veritabanı veya veritabanı anlık görüntüsü bozulursa, anlık görüntüden geri dönmek mümkün olmayabilir. Ayrıca, mümkün olduğunda bile, bozulma durumunda geri dönmenin sorunu düzeltme olasılığı düşüktür. Bu nedenle, veritabanını korumak için düzenli yedeklemeler almak ve geri yükleme planınızı test etmek çok önemlidir. Daha fazla bilgi için bkz. SQL Server Veritabanlarını Yedekleme ve Geri Yükleme.
Uyarı
Kaynak veritabanını veritabanı anlık görüntüsünü oluşturduğunuz noktaya geri yükleyebilmeniz gerekiyorsa, tam kurtarma modelini kullanın ve bunu yapmanızı sağlayan bir yedekleme ilkesi uygulayın.
Geri döndürülen veritabanı özgün kaynak veritabanının üzerine yazılır, bu nedenle anlık görüntünün oluşturulmasından bu yana veritabanında yapılan tüm güncelleştirmeler kaybolur.
Geri alma işlemi, eski günlük dosyasının üzerine yazmanın yanı sıra günlüğü yeniden oluşturur. Sonuç olarak, geri alınan veritabanını kullanıcı hatası noktasına iletemezsiniz. Bu nedenle, veritabanını geri döndürmeden önce günlüğü yedeklemenizi öneririz.
Uyarı
Veritabanını iletmek için özgün günlüğü geri yükleyemediğiniz halde, özgün günlük dosyasındaki bilgiler kayıp verileri yeniden oluşturmak için yararlı olabilir.
Geri döndürme işlemi, günlük yedekleme zincirini bozar. Bu nedenle, geri alınan veritabanının günlük yedeklemelerini alabilmeniz için önce tam veritabanı yedeklemesi veya dosya yedeklemesi almanız gerekir. Tam veritabanı yedeklemesi öneririz.
Geri döndürme işlemi sırasında hem anlık görüntü hem de kaynak veritabanı kullanılamaz. Kaynak veritabanı ve anlık görüntü "Geri yüklemede" olarak işaretlenir. Geri döndürme işlemi sırasında bir hata oluşursa, veritabanı yeniden başlatıldığında geri döndürme işlemi geri döndürmeyi bitirmeye çalışır.
Geri alınan veritabanının meta verileri, anlık görüntü sırasındaki meta veriyle aynıdır.
Geri alma işlemi, tüm tam metin kataloglarını siler.
Önkoşullar
Kaynak veritabanının ve veritabanı anlık görüntüsünün aşağıdaki önkoşulları karşıladığından emin olun:
Veritabanının bozulmadığını doğrulayın.
Uyarı
Veritabanı bozulmuşsa, veritabanını yedeklerden geri yüklemeniz gerekir. Daha fazla bilgi için bkz . Tam Veritabanı Geri Yüklemeleri (Basit Kurtarma Modeli) veya Tam Veritabanı Geri Yüklemeleri (Tam Kurtarma Modeli).
Hatadan önce oluşturulan son anlık görüntüyü belirleyin. Daha fazla bilgi için bkz. Veritabanı Anlık Görüntüsünü Görüntüleme (SQL Server).
Veritabanında mevcut olan diğer anlık görüntüleri bırakın. Daha fazla bilgi için bkz . Veritabanı Anlık Görüntüsünü Bırakma (Transact-SQL).
Security
Permissions
Kaynak veritabanında RESTORE DATABASE izinlerine sahip olan tüm kullanıcılar, veritabanı anlık görüntüsü oluşturulduğunda bunu durumuna geri döndürebilir.
Veritabanını Veritabanı Anlık Görüntüsüne Döndürme (Transact-SQLKullanarak)
Veritabanını veritabanı anlık görüntüsüne döndürmek için
Uyarı
Bu yordamın bir örneği için, bu bölümün devamında yer alan Örnekler (Transact-SQL) bölümüne bakın.
Veritabanını geri döndürmek istediğiniz veritabanı anlık görüntüsünü tanımlayın. Anlık görüntüleri SQL Server Management Studio'daki bir veritabanında görüntüleyebilirsiniz (bkz. Veritabanı Anlık Görüntüsünü Görüntüleme (SQL Server)). Ayrıca, sys.databases (Transact-SQL) katalog görünümünün source_database_id sütunundan görünümün kaynak veritabanını tanımlayabilirsiniz.
Diğer veritabanı anlık görüntülerini silin.
Anlık görüntüleri bırakma hakkında bilgi için bkz . Veritabanı Anlık Görüntüsünü Bırakma (Transact-SQL). Veritabanı tam kurtarma modelini kullanıyorsa, geri dönmeden önce günlüğü yedeklemeniz gerekir. Daha fazla bilgi için bkz . İşlem Günlüğünü Yedekleme (SQL Server) veya Veritabanı Zarar Gördüğünde İşlem Günlüğünü Yedekleme (SQL Server).
Geri döndürme işlemini gerçekleştirin.
Geri döndürme işlemi, kaynak veritabanında RESTORE DATABASE izinleri gerektirir. Veritabanını geri almak için aşağıdaki Transact-SQL deyimini kullanın:
VERITABANı database_name VERITABAN ANLIK GÖRÜNTÜSÜ =database_snapshot_name 'DAN GERI YÜKLE
burada database_name kaynak veritabanıdır ve database_snapshot_name veritabanını geri döndürmek istediğiniz anlık görüntünün adıdır. Bu ifade içerisinde, yedekleme cihazı yerine bir anlık görüntü adı belirtmeniz gerektiğine dikkat edin.
Daha fazla bilgi için bkz . RESTORE (Transact-SQL).
Uyarı
Geri döndürme işlemi sırasında hem anlık görüntü hem de kaynak veritabanı kullanılamaz. Kaynak veritabanı ve anlık görüntü "Geri yüklemede" olarak işaretlenir. Geri döndürme işlemi sırasında bir hata oluşursa, veritabanı yeniden başlatıldığında geri döndürmeyi bitirmeyi dener.
Veritabanı anlık görüntüsü oluşturulduktan sonra veritabanı sahibi değiştiyse, geri alınan veritabanının veritabanı sahibini güncelleştirmek isteyebilirsiniz.
Uyarı
Geri alınan veritabanı, veritabanı anlık görüntüsünün izinlerini ve yapılandırmasını (veritabanı sahibi ve kurtarma modeli gibi) korur.
Veritabanını başlatın.
İsteğe bağlı olarak, özellikle tam (veya toplu günlüğe kaydedilen) kurtarma modelini kullanıyorsa geri alınan veritabanını yedekleyin. Veritabanını yedeklemek için bkz. Tam Veritabanı Yedeklemesi (SQL Server) oluşturma.
Örnekler (Transact-SQL)
Bu bölüm, veritabanını veritabanı anlık görüntüsüne döndürmeye ilişkin aşağıdaki örnekleri içerir:
A. AdventureWorks veritabanında anlık görüntüyü geri alma
Bu örnekte, veritabanında şu anda yalnızca bir anlık görüntü olduğu AdventureWorks2025 varsayılır. Veritabanının geri döndürüldiği anlık görüntüyü oluşturan örnek için bkz. Veritabanı Anlık Görüntüsü Oluşturma (Transact-SQL).
USE master;
-- Reverting AdventureWorks to AdventureWorks_dbss1800
RESTORE DATABASE AdventureWorks from
DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO
B. Sales veritabanında anlık görüntüyü geri alma
Bu örnekte Şu anda Sales veritabanında iki anlık görüntü olduğu varsayılır: sales_snapshot0600 ve sales_snapshot1200. Örnek, eski anlık görüntüleri siler ve veritabanını daha yeni anlık görüntüye döndürür.
Bu örneğin bağımlı olduğu örnek veritabanını ve anlık görüntüleri oluşturma kodu için bkz:
Satış veritabanı ve sales_snapshot0600 anlık görüntüsü için CREATE DATABASE (SQL Server Transact-SQL) içindeki "Dosya gruplarıyla veritabanı oluşturma" ve "Veritabanı anlık görüntüsü oluşturma" bölümüne bakın.
sales_snapshot1200 anlık görüntüsü için Veritabanı Anlık Görüntüsü Oluşturma (Transact-SQL) konusunda "Sales veritabanında anlık görüntü oluşturma" bölümüne bakın.
--Test to see if sales_snapshot0600 exists and if it
-- does, delete it.
IF EXISTS (SELECT database_id FROM sys.databases
WHERE NAME='sales_snapshot0600')
DROP DATABASE SalesSnapshot0600;
GO
-- Reverting Sales to sales_snapshot1200
USE master;
RESTORE DATABASE Sales FROM DATABASE_SNAPSHOT = 'sales_snapshot1200';
GO
İlgili Görevler
Ayrıca Bkz.
Veritabanı Anlık Görüntüleri (SQL Server)
RESTORE (Transact-SQL)
sys.databases (Transact-SQL)
Veritabanı Yansıtma ve Veritabanı Anlık Görüntüleri (SQL Server)