Aracılığıyla paylaş


Bellek İyileştirmeli Tablolar İçeren Veritabanlarını Parça Parça Geri Yükleme

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

Parçalı geri yükleme, aşağıda açıklanan bir kısıtlama dışında bellek için iyileştirilmiş tablolara sahip veritabanlarında desteklenir. Parçalı yedekleme ve geri yükleme hakkında daha fazla bilgi için bkz. RESTORE (Transact-SQL) ve Piecemeal Restores (SQL Server).

Bellek için iyileştirilmiş bir dosya grubu, birincil dosya grubuyla birlikte yedeklenmeli ve geri yüklenmelidir:

  • Birincil dosya grubunu yedekler (veya geri yüklerseniz) bellek için iyileştirilmiş dosya grubunu belirtmeniz gerekir.

  • Bellek için iyileştirilmiş dosya grubunu yedekler (veya geri yüklerseniz) birincil dosya grubunu belirtmeniz gerekir.

Parçalı yedekleme ve geri yükleme için temel senaryolar şunlardır:

  • Parçalı yedekleme, yedekleme boyutunu azaltmanızı sağlar. Bazı örnekler:

    • İş yükü üzerindeki etkiyi en aza indirmek için veritabanı yedeklemesini farklı zamanlarda veya günlerde gerçekleşecek şekilde yapılandırın. Bunun bir örneği, veritabanı bakımı için ayrılan sürede tam veritabanı yedeklemesinin tamamlanamadığı çok büyük bir veritabanıdır (1 TB'den büyük). Bu durumda, birden çok parçalı yedeklemede tam veritabanını yedeklemek için parça parça yedeklemeyi kullanabilirsiniz.

    • Bir dosya grubu salt okunur olarak işaretlenirse, salt okunur olarak işaretlendikten sonra işlem günlüğü yedeklemesi gerektirmez. Dosya grubunu salt okunur olarak işaretledikten sonra yalnızca bir kez yedeklemeyi seçebilirsiniz.

  • Parçalı geri yükleme.

    • Parçalı geri yüklemenin amacı, tüm verileri beklemeden veritabanının kritik bölümlerini çevrimiçi hale getirmektir. Veritabanında bölümlenmiş veriler varsa, örneğin eski bölümler yalnızca nadiren kullanılır. Bunları yalnızca gerektiği gibi geri yükleyebilirsiniz. Geçmiş verileri içeren dosya gruplarına benzer.

    • Sayfa onarımını kullanarak, sayfayı özellikle geri yükleyerek sayfa bozulmasını düzeltebilirsiniz. Daha fazla bilgi için bkz. Sayfaları Geri Yükleme (SQL Server).

Samples

Örneklerde aşağıdaki şema kullanılır:

CREATE DATABASE imoltp
    ON PRIMARY (
        name = imoltp_primary1,
        filename = 'c:\data\imoltp_data1.mdf')
    LOG ON (
        name = imoltp_log,
        filename = 'c:\data\imoltp_log.ldf');
    GO  
  
ALTER DATABASE imoltp
    ADD FILE (
        name = imoltp_primary2,
        filename = 'c:\data\imoltp_data2.ndf');
GO  
  
ALTER DATABASE imoltp
    ADD FILEGROUP imoltp_secondary;

ALTER DATABASE imoltp
    ADD FILE (
        name = imoltp_secondary,
        filename = 'c:\data\imoltp_secondary.ndf')
            TO FILEGROUP imoltp_secondary;
GO  
  
ALTER DATABASE imoltp
    ADD FILEGROUP imoltp_mod
    CONTAINS MEMORY_OPTIMIZED_DATA;

ALTER DATABASE imoltp
    ADD FILE (
        name = 'imoltp_mod1',
        filename = 'c:\data\imoltp_mod1')
            TO FILEGROUP imoltp_mod;

ALTER DATABASE imoltp
    ADD FILE (
        name = 'imoltp_mod2',
        filename = 'c:\data\imoltp_mod2')
            TO FILEGROUP imoltp_mod;
GO  

Yedekleme

Bu örnek, birincil dosya grubunu ve bellek için iyileştirilmiş dosya grubunu yedeklemeyi gösterir. Hem birincil hem de bellek için iyileştirilmiş dosya grubunu birlikte belirtmeniz gerekir.

BACKUP database imoltp
    filegroup = 'primary',
    filegroup = 'imoltp_mod'
    to disk = 'c:\data\imoltp.dmp'
    with init;

Aşağıdaki örnekte, birincil ve bellek için iyileştirilmiş dosya grubu dışındaki bir dosya grubunun yedeğinin, bellek için iyileştirilmiş tablolar olmadan veritabanlarına benzer şekilde çalıştığı gösterilmektedir. Aşağıdaki komut ikincil dosya grubunu yedekler

BACKUP database imoltp
    filegroup = 'imoltp_secondary'
    to disk = 'c:\data\imoltp_secondary.dmp'
    with init;

Restore

Aşağıdaki örnekte birincil dosya grubu ve bellek için iyileştirilmiş dosya grubunun birlikte nasıl geri yükleneceği gösterilmektedir.

RESTORE database imoltp
    filegroup = 'primary',
    filegroup = 'imoltp_mod'
    from disk = 'c:\data\imoltp.dmp'
    with
        partial,
        norecovery;

-- Restore the transaction log.

RESTORE LOG [imoltp]
    FROM DISK = N'c:\data\imoltp_log.dmp'
    WITH
        FILE = 1,
        NOUNLOAD,
        STATS = 10;
GO

Sonraki örnekte, birincil ve bellek için iyileştirilmiş dosya grubu dışındaki dosya gruplarının geri yüklenmesinin, bellek için iyileştirilmiş tablolar olmadan veritabanlarına benzer şekilde çalıştığı gösterilmektedir

RESTORE DATABASE [imoltp]
    FILE = N'imoltp_secondary'
    FROM DISK = N'c:\data\imoltp_secondary.dmp'
    WITH
        FILE = 1,
        RECOVERY,
        NOUNLOAD,
        STATS = 10;
GO

Ayrıca Bkz.

Bellek İyileştirilmiş Tabloların Yedeklenmesi, Geri Yüklenmesi ve Kurtarılması