Aracılığıyla paylaş


Nasıl Yapılır: Bir veritabanı için veritabanı anında görüntü (Transact-SQL) dönmek

Veritabanı anlık görüntüleri, yedek depolama değildir ve herhangi bir disk hatalarını korunma ya da başka bir türde bozulması sonucunda sağlamaz.Ancak, bir çevrimiçi veritabanında bir kullanıcı bir hata ortaya çıkarsa, hata öncülüdür veritabanı anlık görüntü görüntü görüntü görüntüsü veritabanına dönebilirsiniz.

Important noteImportant Note:

Almak için düzenli yedekleme ve geri yükleme planınız sınama bir veritabanını korumak için gereklidir.kaynak veritabanı noktasına veritabanı anlık görüntü görüntü görüntü görüntüsü oluşturduğunuz saat geri yükleme gerekir, bunu sağlayan bir yedek ilkesini uygular.

Dönüştürme dönüştürülen veritabanı ile özgün kaynak veritabanı üzerine yazar.anlık görüntü görüntü için dönüştürme, tam metin Kataloğu bırakır.

Bir veritabanı için veritabanı anlık görüntü görüntü görüntü görüntüsü dönmek için

  1. Tanımlamak veritabanı anlık görüntü görüntü görüntü veritabanını geri dönmek istediğiniz.Bir veritabanında bulunan anlık görüntüler görüntüleyebilirsiniz... SQL Server Management Studio (bkz: Nasıl Yapılır: Bir veritabanı anında (SQL Server Management Studio'yu) görüntüleyin.). Ayrıca, görünümden kaynak veritabanını yeniden tanımlayabilirsiniz source_database_id sütunsys.Databases (Transact-SQL) Katalog görüntüleyin.

  2. Başka bir veritabanı anlık bırakın.

    Anlık görüntüleri bırakma hakkında bilgi için bkz: Nasıl Yapılır: Bir veritabanı anında (Transact-SQL) bırakın.. Önce dönüştürme, Tam kurtarma modeli, veritabanı kullanır, gerekir yedeklemek günlük.Daha fazla bilgi için bkz: Nasıl Yapılır: yedeklemek bir işlem günlüğü (SQL Server Management Studio'yu) veya Nasıl Yapılır: Veritabanı bozuk (Transact-SQL) olduğunda, işlem günlüğü yedeklemek.

  3. Geri döndürme işlemi gerçekleştirin.

    geri yükleme döndürme işlemi, kaynak veritabanı geri yükleme DATABASE izinleri gerektirir.Veritabanını geri dönmek için , aşağıdaki Transact-SQL deyim kullanın:

    RESTORE DATABASE <database_name> FROM DATABASE_SNAPSHOT =<database_snapshot_name>

    burada <veritabanı_adı> Kaynak veritabanı ve <database_snapshot_name> veritabanını geri dönmek istediğiniz anlık görüntü görüntü adıdır. Bu ifadede, bir yedek aygıtı yerine bir anlık görüntü adı belirtmeniz gerektiğini unutmayın.

    Daha fazla bilgi için bkz: geri yükleme (Transact-SQL).

    Not

    Geri döndürme işlemi sırasında hem anlık görüntü görüntü hem de kaynak veritabanı kullanılamıyor.Kaynak veritabanı ve anlık görüntü görüntü her ikisi de "geri yükleme." işaretli Geri döndürme işlemi sırasında bir hata ortaya çıkarsa, veritabanı yeniden başlatıldığında dönülüyor bitiş dener.

  4. Veritabanı sahibi beri veritabanının anlık görüntü görüntü görüntüsünü oluşturulmasını değiştirdiyseniz, dönüştürülen veritabanında 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 görüntü görüntü görüntü görüntüsü korur.

  5. Veritabanı'nı başlatın.

  6. Dönüştürülen veritabanını, isteğe bağlı olarak, özellikle tam (veya toplu oturum) kurtarma modeli kullanıyorsa yedekleyin.Veritabanını yedekleme konusunda daha fazla bilgi için bkz: Nasıl Yapılır: Bir veritabanı (SQL Server Management Studio'yu) yedekleyin. veya Nasıl Yapılır: Tam bir veritabanı yedek (Transact-SQL) oluşturma.

Example

Bu bölüm, bir veritabanı için veritabanı anlık görüntü görüntü görüntü görüntüsü dönülüyor örnekleri içerir.

C.anlık görüntü görüntü AdventureWorks veritabanındaki dönülüyor.

Bu örnekte, yalnızca bir anlık görüntü üzerinde şimdilik varsayılır AdventureWorks Veritabanı. Için veritabanı burada döndürüldü anlık görüntü oluşturur örnek için bkz: Nasıl Yapılır: Bir veritabanı anında (Transact-SQL) oluşturma.

USE master;
-- Reverting AdventureWorks to AdventureWorks_dbss1800
RESTORE DATABASE AdventureWorks from 
DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO

b.Satış veritabanında anlık görüntü görüntü dönülüyor.

Bu örnek iki anlık görüntüleri şu anda üzerinde bulunduğunu varsayar Satış veritabanı: sales_snapshot0600 and sales_snapshot1200.Bu örnek anlık görüntü görüntü görüntüler eski siler ve rapor anlık görüntü görüntü görüntüsünü daha yeni 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:

  • Için Satış veritabanı ve sales_snapshot0600 anlık görüntü görüntü görüntüsünü, ", bir veritabanı ile dosya gruplarını oluşturma" ve "içinde veritabanı anlık görüntü görüntü görüntü görüntüsü oluşturma" konusuna bakınDATABASE (Transact-SQL) CREATE.

  • Için sales_snapshot1200 anlık görüntüsünü, "içinde satış veritabanında bir anlık görüntü oluşturma" konusuna bakınNasıl Yapılır: Bir veritabanı anında (Transact-SQL) oluşturma.

--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