Bir veritabanı için veritabanı anlık dönmek
Bazı durumlarda, çevrimiçi veritabanında veri zarar görmüşse, veritabanı zarar predates bir veritabanı Snapshot dönüştürme veritabanını yedekten geri yüklemek için uygun bir alternatif olabilir. Örneğin, bir veritabanı dönüştürme için yararlı olabilir bir son ciddi kullanıcı hatası, bırakılan tablo gibi ters. Ancak, anlık görüntüsünü oluşturulduktan sonra yapılan tüm değişiklikler kaybolur.
Başlamadan Önce Sınırlamalar ve kısıtlamalar, Önkoşullar, güvenlik
Bir veritabanı için bir veritabanı anlık dönmek için kullanma: Transact-sql
Başlamadan Önce
Sınırlamalar ve Kısıtlamalar
Geri dönme aşağıdaki koşullarda desteklenmez:
Veritabanı şu anda sen plan-e geri dönmek için anlık yalnızca bir veritabanı olmalıdır.
Herhangi bir salt okunur veya sıkıştırılmış filegroups veritabanında bulunmuyor.
Tüm dosyalar artık çevrimdışı ancak anlık oluşturulduğunda çevrimiçi.
Bir veritabanını geri alınacak önce aşağıdaki kısıtlamaları göz önüne alın:
Dönüştürme medya kurtarma için tasarlanmamıştır. . Veritabanı snapshot veritabanı dosyaları eksik bir kopyasıdır, yani veritabanı veya veritabanı anlık görüntü bozuksa, anlık geri imkansız olması muhtemeldir. Bu mümkün olsa bile, ayrıca bozulması halinde geri alma sorunu düzeltmek olası değildir. Bu nedenle, düzenli yedek alma ve geri yükleme planı test bir veritabanını korumak için gereklidir. Daha fazla bilgi için, bkz. Yedekleme ve geri yükleme SQL Server veritabanları.
[!NOT]
Kaynak veritabanı veritabanı anlık oluşturduğunuz zaman noktasına geri edebilmek gerekirse, tam kurtarma modeli kullanmak ve bunu sağlayan bir yedekleme politikası uygulamak.
Böylece tüm güncelleştirmeler veritabanı anlık görüntünün kuruluşundan beri kayıp ile özgün kaynak veritabanı dönüştürülen veritabanı tarafından yazılır.
Geri döndürme işlemi de eski günlük dosyasının üzerine yazılır ve günlüğü oluşturur. Sonuç olarak, kullanıcı hata noktasına dönüştürülen veritabanı ileri alamazsınız. Bu nedenle, bir veritabanı geri alınacak önce günlük yedeklemenizi öneririz.
[!NOT]
Ileri veritabanı rulo orijinal kaydını geri yükleyemezsiniz, ancak özgün günlük dosyası bilgileri kayıp verileri yeniden inşa için yararlı olabilir.
Geri alınacak günlük yedekleme zincirini keser. Önce dönüştürülen veritabanı günlüğü yedekleri alabilir, bu nedenle size öncelikle bir tam veritabanı yedeklemesi veya dosya yedekleme almalısınız. Tam veritabanı yedeklemesi öneririz.
Bir geri döndürme işlemi sırasında hem anlık hem de kaynak veritabanı kullanılamıyor. Kaynak veritabanı anlık hem "dinlenme içinde." işaretlenir Geri döndürme işlemi sırasında bir hata ortaya çıkarsa, veritabanı tekrar üzerindeki geri döndürme işlemi başladığında dönüştürme bitirmek çalışacağız.
Dönüştürülen veritabanı meta verileri meta veriler anlık zaman aynıdır.
Dönüştürme tüm tam metin kataloglar bırakır.
[Üst]
Ön Koşullar
Kaynak veritabanı ve veritabanı anlık aşağıdaki önkoşulları karşıladığından emin olun:
Veritabanı değil bozulmuş doğrulayın.
[!NOT]
Veritabanı bozulursa, yedeklerden geri yüklemeniz gerekir. Daha fazla bilgi için, bkz. Tam veritabanı (Basit kurtarma modeli) yükler veya Tam veritabanı (tam kurtarma modeli) yükler.
Önce hata oluşturulan son anlık tanımlayın. Daha fazla bilgi için, bkz. Veritabanı anlık görüntüsü (SQL Server) görüntülemek.
Şu an veritabanında kayıtlı diğer anlık bırakın. Daha fazla bilgi için, bkz. Veritabanı Snapshot (Transact-sql) bırak.
[Üst]
Güvenlik
İzinler
Veritabanı snapshot oluşturulurken kaynak veritabanı veritabanını geri yükle izinleri olan herhangi bir kullanıcı bu durumuna dönebilirsiniz.
[Üst]
Nasıl bir veritabanı Snapshot (Transact-sql kullanarak) veritabanına geri döndürme
Bir veritabanı için veritabanı anlık dönmek için
[!NOT]
Bu yordamı örneği için bkz: örnekler (Transact-sql), bu bölümde daha sonra.
Veritabanı geri dönmek istediğiniz veritabanı anlık tanımlayın. Sen-ebilmek görüş anlık görüntüleri veritabanı içinde SQL Server Management Studio(bkz: Veritabanı anlık görüntüsü (SQL Server) görüntülemek). Ayrıca, sen-ebilmek tanımak görünümünde bir kaynak veritabanı source_database_id sütununda sys.Databases (Transact-sql)Katalog görünümü.
Diğer veritabanı anlık bırakın.
Anlık bırakma konusunda daha fazla bilgi için bkz: Veritabanı Snapshot (Transact-sql) bırak. Geri alınacak önce veritabanı tam kurtarma modeli kullanır, günlük yedeklemeniz gerekir. Daha fazla bilgi için, bkz. Bir işlem günlük (SQL Server) yedekleyin veya Kadar zaman veritabanı zarar görmüş geri işlem günlük (SQL Server).
Geri döndürme işlemi gerçekleştirin.
Bir geri döndürme işlemi kaynak veritabanı veritabanını geri yükle izinleri gerektirir. Veritabanı geri dönmek için aşağıdaki Transact-sql deyimini kullanın:
restore database database_namedatabase_snapshot = database_snapshot_name
Burada database_namekaynak veritabanı ve database_snapshot_nameveritabanı geri dönmek istediğiniz anlık adıdır. Bu açıklamada, size bir yedekleme aygıtı yerine bir anlık görüntü adını belirtmeniz gerektiğini unutmayın.
Daha fazla bilgi için, bkz. RESTORE (Transact-SQL).
[!NOT]
Geri döndürme işlemi sırasında hem anlık hem de kaynak veritabanı kullanılamıyor. Kaynak veritabanı anlık hem "geri." işaretlenir Geri döndürme işlemi sırasında bir hata ortaya çıkarsa, veritabanını yeniden başlatıldığında geri bitirmek için çalışacağız.
Veritabanı sahibi veritabanı anlık kuruluşundan beri değiştirdiyseniz, dönüştürülen veritabanı veritabanı sahibini güncelleştirmek isteyebilirsiniz.
[!NOT]
Dönüştürülen veritabanı izinleri ve yapılandırması (örneğin, veritabanı sahibi ve kurtarma modeli) veritabanı anlık korur.
Veritabanı başlatın.
Özellikle tam (veya toplu) kurtarma modeli kullanıyorsa, isteğe bağlı olarak, dönüştürülen veritabanını, yedekleyin. Bir veritabanını yedeklemek için bkz: Tam Veritabanı Yedeği Oluşturma (SQL Server).
[Üst]
Örnekler (Transact-SQL)
Bu bölüm, bir veritabanı için veritabanı anlık görüntü dönüştürme aşağıdaki örnekler içerir:
A. AdventureWorks veritabanı anlık görüntü dönüştürme
B. Satış veritabanı anlık görüntü dönüştürme
A.AdventureWorks veritabanı anlık görüntü dönüştürme
Bu örnek, bu sadece bir anlık anda var varsayılmaktadır AdventureWorks2012 veritabanı. Hangi veritabanı döndürülmesi burada anlık görüntü oluşturur örnek için bkz: Veritabanı Snapshot (Transact-sql) oluştur.
USE master;
-- Reverting AdventureWorks to AdventureWorks_dbss1800
RESTORE DATABASE AdventureWorks from
DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO
B.Satış veritabanı anlık görüntü dönüştürme
Bu örnek iki anlık şu anda üzerinde bulunduğunu varsayar Satış veritabanı: düşünceyesales_snapshot0600 ve sales_snapshot1200. Örnek anlık eski siler ve güncel snapshot veritabanına geri döner.
Kodu örnek veritabanını ve bağımlı olduğu bu örnek anlık görüntülerini oluşturmak için bkz:
İçin Satış veritabanı ve düşünceyesales_snapshot0600 anında, "veritabanı ile filegroups oluşturma" bakın ve "veritabanı anlık görüntü oluşturma" in Veritabanı (Transact-sql) oluştur.
İçin sales_snapshot1200 anında, "Satış veritabanı anlık görüntü oluşturma" bakın in Veritabanı Snapshot (Transact-sql) oluştur.
--Test to see if sales_snapshot0600 exists and if it
-- does, delete it.
IF EXISTS (SELECT dbid 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
[Üst]
Ayrıca bkz.
Başvuru
Kavramlar
Anlık görüntüleri veritabanı (SQL Server)
Veritabanı Snapshot (Transact-sql) oluştur
Veritabanı Snapshot (Transact-sql) bırak
Veritabanı anlık görüntüsü (SQL Server) görüntülemek
Veritabanı yansıtma ve anlık görüntüleri veritabanı (SQL Server)